zoukankan      html  css  js  c++  java
  • 学习面向对象编程OOP 第二天

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

    一,封装性

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

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

      

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

       public     内、外部均可以访问

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

     

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

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

    二、 类的继承

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

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

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

     

    三、重载 

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

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

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

          

    子类重写 say()

        

     

      四、final 关键字

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

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

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

     

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

       

     

     

     

     

     

     

     

     

     

     

  • 相关阅读:
    犯错记录(一)
    BullseyeCoverage:代码覆盖率。
    测试工具:insure++
    C++ 常见容器
    linux修改rm指令执行(数据安全)
    C++细节系列(零):零散记录
    vim中使用gdb。
    vim自动补全文章搜集
    排序算法的个人心得体会。
    面向对象的三个特征。
  • 原文地址:https://www.cnblogs.com/doui/p/5774773.html
Copyright © 2011-2022 走看看