c++第二章类与对象.ppt
文本预览下载声明
第二章 类与对象 北京信息科技大学 燕必希 本章主要内容 OOP的基本特点 类概念和声明 对象 构造函数 析构函数 内联成员函数 拷贝构造函数 类的组合 抽象 抽象是对具体对象(问题)进行概括,抽出这一类对象的公共性质并加以描述的过程。 先注意问题的本质及描述,其次是实现过程或细节。 数据(属性)抽象:描述某类对象的属性或状态(对象相互区别的物理量)。 代码(行为)抽象:描述某类对象的共有的行为特征或具有的功能。 抽象的实现:通过类的声明。 抽象实例——钟表 数据抽象: int Hour,int Minute,int Second 代码抽象: SetTime(),ShowTime() 抽象实例——钟表类 class Clock { public: void SetTime(int NewH,int NewM,int NewS); void ShowTime(); private: int Hour,Minute,Second; }; 抽象实例——人 数据抽象: char *name,char *gender,int age,int id 代码抽象: 生物属性角度:GetCloth(), Eat(), Step(),… 社会属性角度:Work(), Promote() ,… 封装 将抽象出的数据成员、代码成员相结合,将它们视为一个整体。 目的是曾强安全性和简化编程,使用者不必了解具体的实现细节,而只需要通过外部接口,以特定的访问权限,来使用类的成员。 实现封装:类声明中的{} 封装 实例: class Clock { public:void SetTime(int NewH,int NewM, int NewS); void ShowTime(); private: int Hour,Minute,Second; }; 继承与派生 是C++中支持层次分类的一种机制,允许程序员在保持原有类特性的基础上,进行更具体的说明。 多态性 多态:同一名称,不同的功能实现方式。 目的:达到行为标识统一,减少程序中标识符的个数。 c++中的类 类是具有相同属性和行为的一组对象的集合,它为属于该类的全部对象提供了统一的抽象描述,其内部包括属性和行为两个主要部分。 利用类可以实现数据的封装、隐藏、继承与派生。 利用类易于编写大型复杂程序,其模块化程度比C中采用函数更高。 类的声明形式 类是一种用户自定义类型,声明形式: class 类名称 { public: 公有成员(外部接口) private: 私有成员 protected: 保护型成员 } 公有类型成员 在关键字public后面声明,它们是类与外部的接口,任何外部函数都可以访问公有类型数据和函数。 私有类型成员 在关键字private后面声明,只允许本类中的函数访问,而类外部的任何函数都不能访问。 如果紧跟在类名称的后面声明私有成员,则关键字private可以省略。 保护类型 与private类似,其差别表现在继承与派生时对派生类的影响不同。 类的成员 class Clock { public: void SetTime(int NewH, int NewM, int NewS); void ShowTime(); private: int Hour, Minute, Second; }; void Clock::SetTime(int NewH, int NewM, int NewS) { Hour=NewH; Minute=NewM; Second=NewS; } void Clock::ShowTime() { coutHour:Minute:Second; } 成员数据 与一般的变量声明相同,但需要将它放在类的声明体中。 成员函数 在类中说明原型,可以在类外给出函数体实现,并在函数名前使用类名加以限定。也可以直接在类中给出函数体,形成内联成员函数。 允许声明重载函数和带默认形参值的函数 内联成员函数 为了提高运行时的效率,对于较简单的函数可以声明为内联形式。 内联函数体中不要有复杂结构(如循环语句和switch语句)。 在类中声明内联成员函数的方式: 将函数体放在类的声明中。 使用inline关键字。 内联成员函数举例(一) class Point { public: void Init(int
显示全部