--事物的难度远远低于对事物的恐惧!
上一节我们介绍了类和对象的基本概念及对应生活中的一些例子,这节我们进一步来分析一下类和对象。
类之间的关系:
-继承
A、从已存在类细分出来的类和原类之间具有继承关系
B、继承的类(子类)拥有原类(父类)的所有属性和行为
-组合
A、一些类的存在必须依赖于其他类,这种关系叫组合
B、组合的类在某一个局部上有其它的类组成
下边以一个图来看一下类的继承关系
对应到代码中,就是如下:
#include <stdio.h>
struct Biology //生物类
{
bool living;
};
struct Animal : Biology //动物类,继承于生物类
{
bool movable;
void findFood() { }
};
struct Plant : Biology //植物类,继承于生物类
{
bool growable;
};
struct Beast : Animal //禽兽类,继承于动物类
{
void sleep() { }
};
struct Human : Animal //人类,继承于动物类
{
void sleep() { }
void work() { }
};
int main()
{
return 0;
}
当然,这段代码是能编译过的,同时也开始了我们进入C++面向对象的大门,有了这个基本的感观,后边会越来越能体会到类与对象在代码中的精妙之处。
总结:
-类之间可以存在继承关系或组合关系
-继承关系中子类拥有父类的一切属性和行为
-组合关系是类之间整体和部分的关系
-类及类之间的关系可以有不同的表示法
-编译器对类的表示法有具体要求