• 4.类的继承


    一.类与类之间的关系
     
     1.类与类之间可能存在共性。
     2.类与类之间必定会有差异。
     3.为了节约开发时间和代码量,我们在设计类时可以把类的共享对象抽出来形成一个基础类(基类)
     4.使用基类+差异 = 派生类
     
     
    二.继承的语法
     1.在设计一个类时如果已有的类中有它需要的成员,它可以从已有的类中继承哪些成员,被继承的类叫父类或基类,继承类叫作派生类或子类。
    1  class 类名 : 继承方式 基类1,继承方式 基类2,...
    2  {
    3  
    4  }
    5  
     
     2.子类会完全继承父类中的所有成员(包括能访问和不能访问的)
     
     3.在设计类时如何形成继承关系
      类的设计:
       a.根据问题找对象。
       b.把对象中我们需要的属性和行为抽象出来
       c.把抽象出来的结构封装到一个class中形成一个类
       d.使用抽象出来的类进行实例化
       e.对象调用成员函数解决问题
      继承就是在对对象抽象的结果进行归纳总结,找出它们的共性形成基类,再把基类+差异派生出子类。
     
     4.继承的优点:代码复用
      子类在继承父类后可以节约大量的代码, 节省开发时间,缩短开发周期
     
     5.继承的缺点:
      a.继承会提高类与类之间的耦合度
      b.会降低代码的安全性和可维护性
     
     
    三.使用继承要注意的问题
     
     1.继承虽然可以获取父类中的所有成员,但是子类中可以屏蔽父类中的同名成员(即使是变量和函数同名也会同名)
     
     2.父子类间不可以形成重载,只有在同一作用域下的同名函数不同参数,const属性的同名函数才能形成重载
     
     3.父类中的成员在子类中的访问属性
      父类中的public和protected在子类中可以访问
      父类中的private在子类中不可以访问
     
     
     4.继承的方式
      不同的继承方式会影响子类中的父类的成员,在类外的访问方式
      public 不变
      protected 公有变保护,其他不变
      private 全部变成私有
     
     
    四.虚函数
     
     1.子类中会隐藏父类中的同名函数,这种关系叫隐藏(但是这个时候假如你用一个父类的指针指向这个子类,那么调用父类和子类中的同名函数时候,会调用父类的)。
     
     2.在同一作用域下的同名函数,这种关系叫做重载。
     
     3.如果父类中的同名函数添加了virtual关键字,这种函数就叫做虚函数,子类会覆盖父类中同名的函数
     
     4.虚函数是实现多态的基础。
     
     
    五.继承的构造,析构,拷贝
     
     1.在继承时,先调用父类的构造函数,在调用子类的构造函数
     
     2.在继承中,先调用子类的析构,在调用父类的析构
     
     3.拷贝构造也是先父类的拷贝构造在子类的拷贝构造
     
     4.在C++中,可以有多个父类,在构造时,会按基础表的顺序调用父类的构造函数。
     
     5.在析构时,子类会先调用自己的析构函数,然后再按照基础表的逆序来调用析构函数。
     
     可以将每一个类的构造析构比喻为一对括号 
  • 相关阅读:
    使用matplotlib绘制常用图表(3)其他图表绘制
    python简单爬虫
    使用matplotlib绘制常用图表(2)常用图标设置
    一个GISer的使命
    SQL2008″Unable to read the list of previously registered servers on this system”
    Eclipse语言包安装
    eclipse查看JDK源码
    Eclipse中设置javadoc中文帮助文档
    GDI+处理图像时出现内存不足的问题
    利用github搭建私人maven仓库
  • 原文地址:https://www.cnblogs.com/LyndonMario/p/9524501.html
Copyright © 2020-2023  润新知