zoukankan      html  css  js  c++  java
  • C++_对象之间的关系与继承

    派生类和基类之间的特殊关系是基于C++继承的底层模型的。

           实际上,C++有3种继承方式:公有继承保护继承私有继承

           公有继承是最常见的关系,它建立一种is-a的关系,即派生类对象也是一种基类,可以对基类对象执行的任何操作,也可以对派生类对象执行。is-a其实是is-a-kind-of的缩写。

           has-a关系:午餐可能包含水果,但是午餐不是水果。所以从Fruit类派生出的Lunch类来在午餐中添加水果。在午餐中加入水果的正确方法是将其作为一种has-a关系:午餐有水果。建模方式就是:将Fruit对象作为Lunch类的数据成员。

           is-like-a关系:律师像鲨鱼,但是律师不是鲨鱼。鲨鱼可以再水下生活,所以Shark类不能派生出Lawyer类。继承可以再基类的基础上添加属性, 但不能删除基类的属性。有些情况下,可设计包含共有特征的类,然后以is-a或has-a关系,在这个类的基础上定义相关的类。

           use-a关系:计算机可以使用激光打印机,但从Computer类派生出Printer类是没有意义的。然而可以使用友元函数或类来处理Printer对象和Computer对象之间的通信。

           公有继承还是只是用来建立is-a的关系比较好。

  • 相关阅读:
    制作自己的漫画书
    VOIP-- 打电话
    python批量给图片添加logo
    python图片拼接
    一种下载电影很快的方法 you-get
    运动健身
    深圳朋友来玩
    多关键字排序实验
    最小生成树实验
    MySQL命令大全(值得一看)
  • 原文地址:https://www.cnblogs.com/grooovvve/p/10126534.html
Copyright © 2011-2022 走看看