深入了解PHP类Class的概念

yipeiwu_com5年前PHP代码库
例如,一个交通工具可以定义有颜色、轮胎数、制造商、型号和容量等性质,并定义有停止、前进、转弯和鸣笛等行为。在OOP术语中,实体的性质和行为的具体定义称为类(class)。

类的定义与创建
类是具有相同属性和服务的一组对象的集合。它为属于该类的所有对象提供了统一的抽象描述,其内部包括属性和方法两个主要部分。在面向对象的编程语言中,类是一个独立的程序单位,它应该有一个类名并包括属性说明和方法说明两个主要部分。

类用于表示要在应用程序中处理的实际事物。例如,假设要创建一个管理公共图书馆的应用程序,可能就要包括一些类来表示书籍、杂志、员工、特殊事件、顾客以及需要管理的其他事物。每个实体都包含一组性质和行为,在OOP中分别称为字段(field)和方法(method),它们定义了实体。PHP 中一般的类创建语法如下:

复制代码 代码如下:

class Class_Name
{
// 字段声明
// 方法声明
}

创建一个类:
复制代码 代码如下:

class Employee
{
private $name;
private $title;
protected $wage;

protected function clockIn() {
echo "Member $this->name clocked in at ".date("h:i:s");
}

protected function clockOut() {
echo "Member $this->name clocked out at ".date("h:i:s");
}
}

这个类名为Employee,定义了3个字段:name、title和wage,还定义了两个方法:clockIn(签到)和clockOut(签离)。

类的应用
一个定义了属性和方法的类就是一个完整的类了,可以在一个类里面包含一个完整的处理逻辑。使用 new 关键字来实例化一个对象以便应用类里面的逻辑。可以同时实例化多个对象。

类的实例化:
复制代码 代码如下:

object = new class_name();

实例化一个对象后,使用 -> 操作符来访问对象的成员属性和方法。比如:
复制代码 代码如下:

object->var_name;
object->function_name;

如果要在定义的类里面访问成员的属性或者方法,可以使用伪变量 $this 。$this 用于表示当前对象或对象本身 。
复制代码 代码如下:

<?php
class Person {
// 人的成员属性
var $name; //人的名字
var $age; //人的年龄

//人的成员 say() 方法
function say() {
echo "我的名字叫:".$this->name."<br />";
echo "我的年龄是:".$this->age;
}
}
//类定义结束

$p1 = new Person(); //实例化一个对象
$p1->name = "Gonn"; //给 $p1 对象属性赋值
$p1->age = 25;
$p1->say(); //调用对象中的 say()方法
?>

程序运行结果:
复制代码 代码如下:

我的名字叫:Gonn
我的年龄是:25

相关文章

php垃圾代码优化操作代码

公司有几个网站搭在美国的虚拟主机上,服务器上的mysql服务差不多每一天都会突然不知什么时候挂掉,然后过一会又恢复了,怀疑是超出cpu的使用限制而被自动结束了,但是实际上该服务器上的流量...

解析php中curl_multi的应用

相信许多人对php手册中语焉不详的curl_multi一族的函数头疼不已,它们文档少,给的例子 更是简单的让你无从借鉴,我也曾经找了许多网页,都没见一个完整的应用例子。•cu...

PHP守护进程的两种常见实现方式详解

本文实例讲述了PHP守护进程的两种常见实现方式。分享给大家供大家参考,具体如下: 第一种方式,借助 nohup 和 &  配合使用。 在命令后面加上 & 符号, 可以让启动的进...

PHP 将图片按创建时间进行分类存储的实现代码

复制代码 代码如下:<?php /* 代码功能:使用PHP巧妙将图片按创建时间进行分类存储; 图片文件属性须取消只读属性,否则无法删除 By lost63 */ //延时设置 se...

PHP中通过语义URL防止网站被攻击的方法分享

什么是语义URL 攻击? 好奇心是很多攻击者的主要动机,语义URL 攻击就是一个很好的例子。此类攻击主要包括对URL 进行编辑以期发现一些有趣的事情。 例如,如果用户chris 点击了你...