资源描述:
《C++的class.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第11章定义C++类类是面向对象程序设计的核心,它实际上是一种新的数据类型,也是实现抽象类型的工具,因为类是通过抽象数据类型的方法来实现的一种数据类型。类的定义类:类是一种复杂的数据类型,它是将不同类型的数据与和这些数据相关的操作封装在一起的集合体,因此,类具有更高的抽象性,类中的数据具有隐藏性,类还具有封装性。类包括:描述属性的数据和处理数据的方法(行为)。对象是类的实例。对象将其属性和行为封装在一起,并将其内部大部分的实现细节隐藏起来,仅通过一个可控的接口与外界交互。面向对象程序设计的特点一、抽象性抽象是对具体对象(问题)进行概括,抽出这一类对象的公共性质并加以描述的过程。先注意问题的本质
2、及描述,其次是实现过程或细节。数据抽象:描述某类对象的属性或状态(对象相互区别的物理量)。代码抽象:描述某类对象的共有的行为特征或具有的功能。抽象的实现:通过类的声明。抽象实例——钟表数据抽象:intHour,intMinute,intSecond代码抽象:SetTime(),ShowTime()抽象实例——钟表类classClock{public:voidSetTime(intNewH,intNewM,intNewS);voidShowTime();private:intHour,Minute,Second;};二、封装将抽象出的数据成员、代码成员相结合,将它们视为一个整体。目的是增强安全
3、性和简化编程,使用者不必了解具体的实现细节,而只需要通过外部接口,以特定的访问权限,来使用类的成员。实现封装:在c++中,利用类的形式实现封装的。实例:classClock{public:voidSetTime(intNewH,intNewM,intNewS);voidShowTime();private:intHour,Minute,Second;};边界特定的访问权限外部接口类实现了对数据的有效隐蔽和合理控制,是问题的属性和行为的有机和谐的统一。三、继承与派生是C++中支持层次分类的一种机制,允许程序员在保持原有类特性的基础上,进行更具体的说明。新的类由原有的类产生,我们说新类继承了原有
4、类的特征,或者说原有类派生出新类。实现:声明派生类——第12章四、多态性多态:是指类中具有相似功能的不同函数使用同一个名称来实现的现象。只是人类思维方式的一种直接模拟,比如说“打球”的这个“打”,就是一个多态现象。打篮球、打羽毛球等规则和实际“打”的操作相差甚远,只是功能相似,我们就统一使用“打”来表示。目的:达到行为标识统一,减少程序中标识符的个数。实现:重载函数和虚函数——第14章11.1类的定义类是一种用户自定义类型,声明形式:class类名称{public:公有成员和函数(外部接口)private:私有成员和函数protected:保护型成员和函数}在关键字public后面声明,它们是
5、类与外部的接口,任何外部函数都可以访问公有类型数据和函数。在关键字private后面声明,只允许本类中的函数访问,而类外部的任何函数都不能访问。如果紧跟在类名称的后面声明私有成员,则关键字private可以省略。与private类似,其差别表现在继承与派生时对派生类的影响不同,第12章讲。classClock{public:voidSetTime(intNewH,intNewM,intNewS);voidShowTime();private:intHour,Minute,Second;};成员数据:与一般的变量声明相同,但需要将它放在类的声明体中。成员函数:在类中说明原形,可以在类外给出函
6、数体实现,并在函数名前使用类名加以限定。也可以直接在类中给出函数体,形成内联成员函数。允许声明重载函数和带默认形参值的函数voidClock::SetTime(intH,intM,intS){Hour=H;Minute=M;Second=S;}voidClock::ShowTime(){cout<7、应用举例#includeclassClock//时钟类的声明{public://外部接口,公有成员函数voidSetTime(intNewH,intNewM,intNewS);voidShowTime();private://私有数据成员intHour,Minute,Second;};//时钟类成员函数的具体实现voidClock::SetTime(intH,intM,in