面对对象编程 – 继承性(继承 – 事物的相似性)(扩展性、代码重用性)
UML 类图 — 关于StarUML的学习教程
StarUML(简称SU),是一种创建UML类图,生成类图和其他类型的统一建模语言(UML)图表的工具。StarUML是一个开源项目之一发展快、灵活、可扩展性强。
统一建模语言(UML,Unified Modeling Language)是面向对象软件的标准化建模语言。
作用:在软件的开发过程中,统一建模语言可以在整个设计周期中使用,帮助设计者缩短设计时间,减少改进的成本,使软硬件分割最优。
继承
-
继承与组合
类自动地获得另一个类的部分或全部的属性与操作;提高了代码的可重用性
is a :狗是动物 <类名 与 类名> 父类 与 子类
has a :狗有尾巴 <对象 与 对象> 父对象与子对象
-
内存模式
-
访问权限
private与protected的不同:
private允许类的成员函数访问,不允许在类外访问( 对象 );在继承中private在派生类中不允许访问;protected允许类的成员函数访问,不允许在类外访问( 对象 );在继承中protected允许在派生类的成员函数访问。对于类外而言,这两个是完全相同的。
基类和派生类
- 关系
>1. 派生类是基类的具体化
> 2. 派生类是基类定义的延续
- 构成
-
构造函数和析构函数
构造函数:
• 对自己的数据成员进行初始化
• 负责调用基类构造函数使基类的数据成员得以初始化;
• 调用子对象的构造函数,对派生类中的子对象进行初始化;调用顺序:基类的构造函数 → 子对象的构造函数 → 派生类构造函数体
析构函数:执行派生类的析构函数时,基类的析构函数也将被调用;
析构函数的执行顺序与构造函数严格相反
-
隐藏和覆盖: — C++中的覆盖与隐藏(详细讲解)
IF 子类的函数与父类的名称相同,但是参数不同
父类函数被隐藏
ELSE IF 子类函数与父类函数的名称相同&&参数也相同&&但是父类函数没有virtual
父类函数被隐藏
ELSE IF 子类函数与父类函数的名称相同&&参数也相同&&但是父类函数有virtual
父类函数被覆盖
-
upcasting(向上转型) 和 downcasting(向下转型)
c++必须在类初始化列表中初始化的几种情况 – 参考
-
const类型的类成员 — 常数据成员;
-
引用类型的类的数据成员;
-
没有默认构造函数的子对象;(子对象的初始化用对象名,而不是类名)
-
派生类在初始化列表中调用基类的构造函数;
多文件操作
若干.h / .cpp文件
Makefile描述工程所有文件的编译顺序和编译规则