php面向对象的三个关键字

(1)final: 1,final不能修饰成员属性 2,final只能修饰类和方法

作用: 使用final修饰的类不能被子类继承 使用final修饰的方法不能被子类去覆盖 用来限制类不被继承,方法不能被覆盖就使用final (2、)static: 1,使用static可以修饰成员属性和成员方法,不能修饰类 2,用static修饰的成员属性,可以被同一个类的所有对象共享 3,静态的数据是存在内存中的数据段中(初始化静态段) 4,静态的数据是在类每一次加载时分配到内存中的,以后再用到类时就直接从数据段中 获取 5,只要在程序中使用到这个类(有这个类名出现)就是类被加载

注意:静态的成员都要使用类名去访问,不用创建对象,不用对象去访问 类名::静态成员 如果在类中使用静态成员,可以使用self代表本类(功能相当于$this) self::静态成员 6,静态方法,不能访问非静态的成员,非静态的方法中,可以访问静态成员。 这是因为非静态的成员,就必须用对象来访问,访问内部的成员使用的就是$this,静态方法不用使用对象来调用,也就没有对象,$this也就不能代表什么对象,非静态的成员还必须使用对象。如果你确定一个方法不使用非静态的成员,则可以将这个方法声明为静态方法(不能创建对象,直接用类名来访问) (3、)const: 1,它只能修饰成员属性 2,类中声明常量属性使用const 3,命名的方法与define是一样的效果 4,访问方式和static静态成员属性是一样:类名::常量     self::常量 5,常量一定要在声明时就给初值 6,常量在声明后不能被重新赋值

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。