学习面向对象编程OOP 第二天
好,今天继续学习这个面向对象编程。(根据博客园 小炒花生米写的博客学习而来)
一,封装性
a、把对象的全部属性和全部服务(方法)结合在一起,形成一个不可分割的独立单元 =》对象
b、信息隐蔽,尽 可能的隐蔽对象的内部细节,只保留有限的对外接口使之与外部发生联系。
private 只能对象内部自己访问这个成员属性,外部不能访问
public 内、外部均可以访问
protect 只有 在当前类和继承子类里面可以访问
因为构造方法是默认的公有方法(构造方法不要设置成私有的)
另外在子类覆盖父类的方法时也要注意一点,子类中方法的访问权限一定不能低于父类被覆盖方法的访问权限,也就是一定要高于或等于父类方法的访问权限。
二、 类的继承
它是指建立一个新的派生类,从一个或多个先前定义的类中继承数据和函数,而且可以重新定义或加进新数据和 函数,从而建立了类的层次或等级。
简单来说就是 : 继承性是子类自动共享父类数据结构和方法的机制
在PHP和Java语言里面没有多继承,只有单继承,也就是说,一个类只能直接从一个类中继承数据, 这就是我们所说的单继承
三、重载
重载新的方法所指的是什么呢?其实我们所说的重载新的方法就是子类覆盖父类的已有的方法,
一种是使用父类的“类名::“来调用父类中被覆盖的方法;
一种是使用“parent::”的方试来调用z父类中被覆盖的方法;
子类重写 say()
四、final 关键字
关键字 只能用来定义类和定义方法, 不能使用final这个关键字来定义成员属性,因为final是常量的意思,
使用final关键标记的类不能被继承;
使用final关键标记的方法不 能被子类覆盖,是最终版本;
五、static和const关键字的使用(self::)