一个新类从已有的类获得其已有特性,称为类的继承;
从已有的类(父类/基类)产生一个新的子类(派生类),称为类的派生。
因此,类的继承与派生是同样一个过程的两个方向的描述。
单继承:一个派生类只从一个基类派生
单继承关系形成的层次是一个树形结构。箭头由派生类指向基类。
某一个事物是由其他几种事物构成的,那么其他的几种子事物可以定义为派生类;而总的事物定义为基类。
Unified Modeling Language (UML)又称统一建模语言或标准建模语言,建立模型的图形化工具。
多重继承:一个派生类有两个或多个基类。
派生类不仅可以从一个基类派生,也可以从多个基类派生。
继承应用实例:MFC微软基础类库(英语:Microsoft Foundation Classes,简称MFC)是一个微软公司提供的类库(class libraries),以C++类的形式封装了Windows API,并且包含一个应用程序框架,以减少应用程序开发人员的工作量。其中包含的类包含大量Windows句柄封装类和很多Windows的内建控件和组件的封装类。
MFC:经典的需要用继承机制进行编程的实例,为了设计图形用户界面提供的基础设施。
MFC介绍:
总的基类 CObject
派生类的声明与构成:
派生类的声明方式:class 派生类的名字:[继承方式] 基类的名字{派生类新增加的成员};其中继承方式可以省略,则默认为private;
需要注意的是从基类中继承过来的数据成员以及函数都不必在派生类的类体中写出。
成员访问限定符:
public 公用的,类内类外都可以使用
private:私有的,类内可以访问,类外不可以
protected:受保护的,外界无法直接访问,但是派生类可以获得访问能力。(它是遇到派生类之后新增的)
默认方式:private
继承方式包括:
public
private
protected
默认方式为private
派生类中的成员包括从基类继承过来的成员和自己增加的成员两大部分。
每一部分均分别包括数据成员和成员函数。
UML描述一个类的时候如下:
类名
数据成员,例如:
#num:int
其中#代表为protected类型;+代表public;-代表private;
成员函数