zoukankan      html  css  js  c++  java
  • 面向对象 继承与派生

    一、概述:类和类最重要的两种关系:组合关系(is part of);泛化关系(is kind of,启发代码重用)。

    泛化关系表示事物在垂直方向上的一种分类,从一个抽象类型细分出多个具体类型,并且可以继续细分下去,最终形成泛化树。泛化树中的上层结点称为父类(基类),父类的下层结点称为子类(派生类)。父类派生出子类,子类继承了父类。

    // A 类派生与 B 类、可用公有继承、保护继承、私有继承等,可单一继承、多重继承。多重继承的基类列表中包含多个基类,用逗号隔开。
    //不管何种继承,派生类占据的内存都大于父类,包括那些父类私有的都会被派生出来浪费空间,所以要慎用派生继承。
    class A : public B { ...//派生类新增数据成员及成员函数 };

    不适合使用继承关系的情况:

    1,与分类学尝试矛盾

    2,所研究问题不需要的分类

    3,只有一个属性不同的分类(eg:本科生与研究生,中国人和外国人等)

    注意:封装性要求私有成员只有对象本身可以访问;构造函数和析构函数都是每个类所特有的,不能被继承;

    不同继承方式的访问属性:

  • 相关阅读:
    【YbtOJ#20068】连通子图
    【YbtOJ#20067】糖果分配
    【GMOJ6801】模拟patrick
    【GMOJ6800】模拟spongebob
    【洛谷P4449】于神之怒加强版
    【洛谷P3601】签到题
    【洛谷P2408】不同子串个数
    【洛谷P3809】【模板】后缀排序
    【JZOJ1753】锻炼身体
    【GMOJ1164】求和
  • 原文地址:https://www.cnblogs.com/lingc/p/3396774.html
Copyright © 2011-2022 走看看