PHP的类修饰符与访问修饰符
类修饰符
- 1.abstract修饰的类为抽象类,如果一个类中含有抽象方法那么这个类就是抽象类(当然一个类中没有抽象方法,我们也可以定义这个类为抽象类),那么什么是抽象方法呢,抽象方法就是没有方法体的方法(没有大括号和里面的内容),抽象方法前面也加上abstract修饰。抽象类本身不能被实例化,只有一个类继承了它,并覆盖了它所有的抽象方法,这样我们可以实例化它的子类
abstract class My{ abstract function say(); } // abstract class My{ function say(){ echo 'hello'; } }
- 2.interface修饰的类为接口,接口与抽象类有点类似,不过他们的区别是,接口所有的方法都是抽象方法,接口的抽象方法前面没有abstract修饰,成员属性必须为常量。接口引用区别于类继承关键字 extends ,继承只能只是单一性,而接口可以使用关键字 implements 多个引用并用逗号分开。
interface demo { const NAME = "常量对象属性"; function fun1(); function fun2(); //抽象方法。 } class MyPc extends Root implements demo , demo2 , demo3 { ... }
- 3.final修饰的类为终结类,它不能被继承。
访问修饰符
- 1.public 公共的方法和属性,能在所有的类中使用
- 2.static 静态的方法和变量
如果访问控制权限允许,可不必创建该类对象而直接使用类名加两个冒号“::”调用,static的属性,在内存中只有一份,为所有的实例共用, 静态方法不能调用非静态属性 。不能使用self::调用非静态属性。
function test(){ static $a=1; $a*=2; echo $a."\n"; } test() test() test() //打印结果 //2 //4 //8
静态变量的初始化赋值只有一次,后面的test方法不会再初始化。
- 3.private 修饰的方法和变量是私有的,只能在本类中调用(在其他的类中实例化本类,是无法调用private修饰的方法和变量)
- 4.proteced 受保护的方法和变量,只能在本类和本类的子类中使用
- 5.final 修饰的方法不能被覆盖。
相关推荐
chensen 2020-11-14
lwnylslwnyls 2020-11-06
ATenhong 2020-10-15
yanzhelee 2020-10-13
佛系程序员J 2020-10-10
guojin0 2020-10-08
佛系程序员J 2020-10-08
bluewelkin 2020-09-16
wwzaqw 2020-09-04
zhongdaowendao 2020-09-02
favouriter 2020-08-18
奎因amp华洛 2020-08-15
一青年 2020-08-13
千锋 2020-08-10
nangongyanya 2020-08-09
dongxurr 2020-08-08
明天你好 2020-08-03
kyelu 2020-08-03
Ashes 2020-08-03