PHP的三大特性:封装性,继承性,多态性
封装性:就是把一个类(对象)的属性和方法封装起来,外部只有被授权的方法或操作才可以访问。
php提供了三种访问控制符
- public 表示全局的,本类内部,类外部,子类都可以访问 。
- protected 表示受保护的,只有本类或子类可以访问 。
- private 表示私有的,只有本类内部可以访问,外部和子类都不可以访问
继承性:是指子类可以继承父类的属性和方法,并且子类可以自定义属性和方法。
单继承:只能从一个父类来继承功能 (Java PHP C#..)
多继承:同时从多个父类来继承功能 (C++..)
Parent 关键字
- self 代表当前类 Parent 代表父类
- self 用来调用本类的内容,包括:类常量 静态属性,静态方法,成员方法
- Parent 用来调用父类的内容, 包括:类常量 静态属性,静态方法,成员方法
- self 和 Parent 都使用范围解析符 "::"来调用其他内容
语法: parent :: 类常量 | 静态属性 | 静态方法 | 成员方法
多态性:指同一个对象在不同的情形下(被实例化),表现出不同的形态。主要指方法重载或方法重写
方法重载:在同一个类中定义两个同名方法 (PHP不支持)
方法重写:在子类中定义一个与父类同名的方法 就是'方法重写',子类方法名必须跟父类一致,形参列表也要一致包括类型和个数,子类重写方法的修饰访问权限必须更大或者相等
父类方法权限为protected 子类同名方法权限可以是 protected 和 public
父类方法权限为private 子类无法继承 也无法重写
重写构造方法没有形参个数的要求
重写方法:主要是实现功能的升级。父类中有的方法,子类中再用同样的名字再定义一次,一般来说,子类中方法的功能比父类更完善 更详尽