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

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

一,封装性

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

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

  

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

   public     内、外部均可以访问

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

 

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

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

二、 类的继承

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

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

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

 

三、重载 

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

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

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

      

子类重写 say()

    

 

  四、final 关键字

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

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

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

 

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

   

 

 

 

 

 

 

 

 

 

 

原文地址:https://www.cnblogs.com/doui/p/5774773.html