成员变量
格式:权限控制符 变量名 = 【,变量值】;
权限修饰符
1.public:在任何地方都能使用,类内部、外部、子类中都能使用
2.protected只能在本类、子类中访问
3.private:只能在本类中访问
赋值:
$obj->name = '张三';
删除:
unset($obj->name);
访问私有变量:$this,代表当前对象,只能在成员方法中使用
成员方法
格式:权限控制符 function funcName(形参1,形参2,...) {}
类常量
类常量,就是类的常量,有对象无关,类常量在内存中只有1份,不会随着对象增加而增加。类常量可以被所有对象共享。好处:节省内存
定义:const 常量名 = 常量值 const DB_HOST = 'localhost'
调用:类名::常量,范围解析符(::),静态化调用
静态属性和静态方法
static关键字修饰的,可以被所有对象共享,是有权限的
静态属性,就是类的属性,值是可以改变的
静态方法,就是类的方法
使用方法:『类名::静态属性/静态方法』
类常量和静态属性
『高三五班』班级名称用类常量定义比较好
『全班人数』班级人数用静态属性定义比较好
self
$this代表当前对象,self代表当前类
$this用(->)来调用成员属性和成员方法
self用(::)来调用:类常量、静态属性、静态方法
$this只能用在成员方法中;self可以用在成员方法中、静态方法中;
构造方法
当使用new关键字,创建一个类的对象时,第1个自动调用的方法,就是构造方法。
public function __construct()
构造方法的作用,对象初始化。例如:给私有属性赋值、数据库对象选择、连通。
构造方法必须是成员变量,构造方法没有返回值
析构方法
当销毁一个对象前,自动调用的方法,就是析构方法。
public function __destruct()
析构方法一定没有参数,一定是成员中方法
析构方法的作用,垃圾回收。例如:断开数据库的连接,在线人数。
当前网页执行完毕或者手动调用unset()后会销毁所有变量