学习面向对象编程OOP 第二天

时间:2024-07-18 12:05:03

好,今天继续学习这个面向对象编程。(根据博客园 小炒花生米写的博客学习而来)

一,封装性

a、把对象的全部属性和全部服务(方法)结合在一起,形成一个不可分割的独立单元 =》对象

b、信息隐蔽,尽 可能的隐蔽对象的内部细节,只保留有限的对外接口使之与外部发生联系。

 private  只能对象内部自己访问这个成员属性,外部不能访问

   public     内、外部均可以访问

   protect  只有 在当前类和继承子类里面可以访问

学习面向对象编程OOP 第二天

  因为构造方法是默认的公有方法(构造方法不要设置成私有的)

另外在子类覆盖父类的方法时也要注意一点,子类中方法的访问权限一定不能低于父类被覆盖方法的访问权限,也就是一定要高于或等于父类方法的访问权限。

二、 类的继承

     它是指建立一个新的派生类,从一个或多个先前定义的类中继承数据和函数,而且可以重新定义或加进新数据和 函数,从而建立了类的层次或等级。

简单来说就是  : 继承性是子类自动共享父类数据结构和方法的机制

在PHP和Java语言里面没有多继承,只有单继承,也就是说,一个类只能直接从一个类中继承数据, 这就是我们所说的单继承

三、重载 

    重载新的方法所指的是什么呢?其实我们所说的重载新的方法就是子类覆盖父类的已有的方法,

        一种是使用父类的“类名::“来调用父类中被覆盖的方法;

        一种是使用“parent::”的方试来调用z父类中被覆盖的方法;

      学习面向对象编程OOP 第二天

子类重写 say()

学习面向对象编程OOP 第二天

学习面向对象编程OOP 第二天

四、final 关键字

关键字 只能用来定义和定义方法, 不能使用final这个关键字来定义成员属性,因为final是常量的意思,

使用final关键标记的类不能被继承;

使用final关键标记的方法不 能被子类覆盖,是最终版本;

五、static和const关键字的使用(self::)