静态属性
class 类名{
static $属性名 = 初始值; //初始值也可以不写
}
使用静态属性
使用类名和范围解析符(::)来对静态属性进行操作
类名 :: $属性名
1 .实例属性,是每个对象都可以不一样的数据,也是每个对象都"独自拥有"的数据;
2. 静态属性,他不属于任何一个对象,而只属于该类本身,也可以理解为为所有对象所共有.
静态方法
class 类名{
static function 方法名(参数1,参数2){
}
}
调用方法
类名 :: 方法名
构造方法(__construct)
1. 名字是固定的: __construct;
2. 在new()的时候会调用构造方法,可以在构造方法中给类设置一些初始值
写法 -> 参数不是固定的,相当于函数,只不过函数名是固定的
function __construct($p1,$p2,$p3){
}
析构方法(__destruct):
1.析构方法是在一个对象被销毁的时候会调用,我们无法调用
2.析构方法不能带参数,但方法中也可以使用$this这个词,$this代表当前对象
对象在那些情况下会被销毁
1. 当程序运行结束的时候,会被销毁.
2. 当一个对象没有任何变量指向它的时候,即使程序还没有结束,对象也会被销毁.
继承
class A extends B{ //A继承B
}
implements 也是继承的修饰词
访问控制修饰符:
public private protected(受保护的)
方法重载
当对一个对象的不存在的实例方法进行"调用"的时候,会自动调用类中__call()这个魔术方法;
当对一个类不存在的静态方法进行"调用"的时候,会自动调用类中__callstatic()这个静态魔术方法
function __call($parm1,$parm2) 必须带两个形参
抽象类(abstract)
abstract clss 类名{}
接口(interface)定义形式
interface 接口名{
常量 1;
常量 2;
...
抽象方法1;
抽象方法2;
}
说明:
1. 可见,接口中,只有常量(接口常量)和抽象方法两种成员
2. 接口常量的使用形式为: 接口名称: : 常量名称;
3. 接口中的抽象方法,不要使用abstract.也不需要使用访问控制修身付,因为其天然就是

网友评论