【C++】 14_进阶面向对象 (下)

面向对象的基本关系

类之间的基本关系

  • 继承

    • 已存在类细分出来的类和原类之间具有继承关系(is_a)
    • 继承的类(子类)拥有原类(父类)的所有属性和行为
  • 组合

    • 一些类的存在必然依赖于其它的类,这种关系叫组合
    • 组合的类在某一局部上由其它的类组成

类之间的基本关系 - 继承

clipboard.png

类之间的基本关系 - 组合

clipboard.png

类的表示法

clipboard.png

类的表示法 - 简化

clipboard.png

问题:

  1. 类之间的继承没有表示出来
  2. 继承而来的属性和行为需要重复声明

类的表示法 - 改进 1

clipboard.png

问题:
需要使用画线来表示属性和行为,不适合于编程开发!

类的表示法 - 改进 2

clipboard.png

问题:
使用中文进行属性和行为的描述,绝大多数编译器无法接受!

类的表示法 - 改进 3

clipboard.png

思考:
如何用程序设计中的概念描述类的属性和行为?

类的表示法 - 改进 4

clipboard.png

编程实验:类的表示方法

#include <stdio.h>

struct Biology {
    bool living;
};

struct Animal : Biology {
    bool movable;
    void foidFood() { };
};

struct Plant : Biology {
    bool growable;
};

struct Beast : Animal {
    void sleep() { };
};

struct Human : Animal {
    void sleep() { };
    void work() { };
};

int main()
{
    return 0;
}
编译无警告,无错误

小结

  • 类之间可以存在继承关系和组合关系
  • 继承关系中子类拥有父类的一切属性和行为
  • 组合关系是类之间整体和部分的关系
  • 类及类之间的关系有不同的表示法
  • 编译器对类的表示法有具体的要求

以上内容参考狄泰软件学院系列课程,请大家保护原创!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值