文档介绍:第四章类与对象的构造设计
类的构造是面向对象程序设计的支柱,是C++实现数据隐蔽和封装的基本单元,是实现其他许多高级特性的基础。
本章讨论类和对象的定义、设计和实现方法。
本章的目的:
.掌握类的说明和对象创建方法
.掌握控制对象类的成员访问权限方法
.了解构造函数和析构函数的用法
.学习类的封装、可见性和引用操作方法
.了解结构、联合的面向对象特性和用法
类的构造和创建
在通往面向对象的道路上共有7个台阶:
①、基于对象的模块结构。系统基于数据结构进行模块化,而不是基于功能模块化。
②、数据抽象。对象应该是抽象数据类型的实现。
③、自动存储管理。失效的对象应该在没有程序员的干预下,被底层程序语言系统收回。
④、类的形成每个非常简单的类型都是一个模块,而每个高层次的模块都是一个类型。一个综合了模块和类型的特性的程序语言单位被称为类(class)。
⑤、继承性。一个类应该能被定义为另一个类的扩允或约束。
⑥、多态性和动态联编。一个程序实体应该能指向多个类的对象,同一种操作在不同的类中应该有不同的实现。
⑦、多重继承和重复继承。。一个类可以是多个类的了类,可以多次成为同一个类的子类。
可以说,具有对象概念的程序设计语言分为三类:
基于对象的语言——仅有对象的概念,但没有将对象的共性抽象化,形成类,这就大大限制了软件模块化。
基于类的语言——类的引进不仅符合问题域的自然求解要求,而且把模块和类型的特性综合在一起,体现了软件设计的优良标准。
面向对象的语言——继承性提供了描述类层次关系的机制,同时对软件的可复用性提供了充分支持,与之相联系的类层次的多态性和动态联编则对软件的可扩允性提供了支持。
类与继承是面向对象语言最根本的特征,是面向对象的标志。
在C++中,存在三种类型说明:类、结构、联合,相应地使用的关键词是class、struct、union。
类设计的基本概念
类的说明是一个逻辑抽象的概念,它声明了一种新的“数据类型”,描述了一类对象的共同特性,它把属性数据及其操作方法能够包容在一起。
类本身具有自含性。类中成员按其使用或存取的方式分类,分别使用关键词private、public和protected,为具体实现封装和继承机制提供条件。类的public部分定义的成员变量和成员函数可以被类外代码访问,是类对象的外部接口。
对象是按类来定义的,对象的生成才真正创建了这种数据类型的物理实体。即对象占用实际的内存空间,而类的说明不占用内存。
类的说明与对象定义
说明类的语法与说明结构有些相似,但要使用关键字class。说明类的一般形式如下:
class calss_name{
private://私有成员,默认值
private function and variable;
protected://保护成员
protected function and variable;
public://公有成员
public function and variable;
}object_list;
其中class_name是类名,也是一种新的类型名;object_list为可选项,用户可在说明类之后,根据需要说明类的对象。
类说明体内的