abstract关键字 抽象类
- 任何一个类,如果它里面至少有一个方法是被声明为抽象的,那么这个类就必须被声明为抽象的
- 定义为抽象的类不能被实例化
- 继承一个抽象类的时候,子类必须定义父类中的所有抽象方法,另外,这些方法的访问控制必须和父类中一样
- 使用关键字 abstract
- 子类方法可以包含父类抽象方法中不存在的可选参数
static 关键字
- 声明类属性或方法为 static(静态),就可以不实例化类而直接访问
- 静态属性不能通过一个类已实例化的对象来访问(但静态方法可以)
- 由于静态方法不需要通过对象即可调用,所以伪变量 $this 在静态方法中不可用
- 静态属性不可以由对象通过 -> 操作符来访问
- 用一个变量来动态调用类。但该变量的值不能为关键字 self,parent 或 static
final 关键字
- 如果父类中的方法被声明为 final,则子类无法覆盖该方法
- 如果一个类被声明为 final,则不能被继承