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

50次阅读

共计 657 个字符,预计需要花费 2 分钟才能阅读完成。

面向对象的基本关系

类之间的基本关系

继承

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

组合

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

类之间的基本关系 – 继承

类之间的基本关系 – 组合

类的表示法

类的表示法 – 简化

问题:

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

类的表示法 – 改进 1

问题:需要使用画线来表示属性和行为,不适合于编程开发!
类的表示法 – 改进 2

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

思考:如何用程序设计中的概念描述类的属性和行为?
类的表示法 – 改进 4

编程实验:类的表示方法
#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