没有合适的资源?快使用搜索试试~ 我知道了~
C++类与对象,类,对象,C++对于初学者来说是不好理解的,经过本人的整理,将C++中关于类和对象的概念和重点摘出来了
资源推荐
资源详情
资源评论
第四章 类与对象
本章主要介绍面向对象程序设计的主要特点:抽象、封装、继承和多态。
4.1 面向对象程序设计的的基本特点
4.1.1 抽象
面向对象方法中的抽象,是指对具体问题(对象)进行概括,抽出一类对象的公共性质加以描述的过程。 一般来讲,对一个问题的抽象应该包括两个方面:数据抽象和类型抽象(或称功能抽象、代码抽象)。 前者描述某类对象的属性或状态,也就是此类对象区别于彼类对象的特征;后者描述的是某类对象的共同行为或功能特征。
关于抽象的例子:首先我们在计算机上实现一个简单的时钟程序。通过对时钟进行分析可以看出,需要三个整数来存储时间,分别表示时、分、秒,这就是对时钟所具有的数据进行抽象。另外,时钟要具有现实时间、设置时间等简单功能,这就是对他的行为的抽象。用C++的变量和函数可以就那个抽象的时钟进行描述如下:
数据抽象:
int Hour,int Miunute,int Second。
功能抽象:
ShowTime(),SetTime()。
4.1.2 封装
封装就是将抽象得到的数据和行为(或功能)相结合,形成一个有机的整体,也就是将数据与操作数据的函数代码进行有机的结合,形成“类”,其中的数据和函数都是类的成员。 例如在抽象的基础上,我们可以将时钟的数据和功能封装起来,构成一个时钟类。 按照C++的语法,时钟类的定义如下:
class Clock //class 关键字 类名
{ //边界
public: //外部接口
void SetTime(int NewH,int NewM,int NewS); //行为,代码成员
void ShowTime(); //行为,代码成员
private: //特定的访问权限
int Hour,Minute,Second; //属性,数据成员
本章主要介绍面向对象程序设计的主要特点:抽象、封装、继承和多态。
4.1 面向对象程序设计的的基本特点
4.1.1 抽象
面向对象方法中的抽象,是指对具体问题(对象)进行概括,抽出一类对象的公共性质加以描述的过程。 一般来讲,对一个问题的抽象应该包括两个方面:数据抽象和类型抽象(或称功能抽象、代码抽象)。 前者描述某类对象的属性或状态,也就是此类对象区别于彼类对象的特征;后者描述的是某类对象的共同行为或功能特征。
关于抽象的例子:首先我们在计算机上实现一个简单的时钟程序。通过对时钟进行分析可以看出,需要三个整数来存储时间,分别表示时、分、秒,这就是对时钟所具有的数据进行抽象。另外,时钟要具有现实时间、设置时间等简单功能,这就是对他的行为的抽象。用C++的变量和函数可以就那个抽象的时钟进行描述如下:
数据抽象:
int Hour,int Miunute,int Second。
功能抽象:
ShowTime(),SetTime()。
4.1.2 封装
封装就是将抽象得到的数据和行为(或功能)相结合,形成一个有机的整体,也就是将数据与操作数据的函数代码进行有机的结合,形成“类”,其中的数据和函数都是类的成员。 例如在抽象的基础上,我们可以将时钟的数据和功能封装起来,构成一个时钟类。 按照C++的语法,时钟类的定义如下:
class Clock //class 关键字 类名
{ //边界
public: //外部接口
void SetTime(int NewH,int NewM,int NewS); //行为,代码成员
void ShowTime(); //行为,代码成员
private: //特定的访问权限
int Hour,Minute,Second; //属性,数据成员
}; //边界
这里定义了一个名为Clock的类,其中的函数成员和数据成员描述了抽象的结果。{}限定了类的边界。关键字public和private是用来指定成员的不同访问权限的。 声明为public的两个函数为类提供了外部接口,外界只能通过这个接口来与Clock类发生联系。声明为private的三个整形数据是本类的私有数据,外部数据无法直接访问。
通过封装使一部分成员充当类与外部的接口,而将其他的成员隐藏起来,这样就达到了对成员访问权限的合理控制,是不同类之间的相互影响减少到最低限度,进而增强数据的安全性和简化程序的编写工作。
4.1.3 继承
C++语言中提供了类的继承机制,允许程序员在保持原有类特性的基础上,进行更具体、更详细的说明。
4.1.4 多态
多态性是指一段程序能处理多种类型对象的能力。在c++语言中,这种多态性可以通过:(强制多态、重载多态、类型参数化多态、包含多态)4种形式来实现。
4.2 类与对象
类是面向对象程序设计方法的核心,利用类可以实现对数据的封装和隐蔽。
在面向对象程序设计中,程序模块是由类构成的。类是对逻辑上相关的数据的封装,它是对问题的抽象描述。
4.2.1 类的定义
这里还是以时钟为例,时钟类的定义如下:
class Clock
{
public:
void SetTime(int NewH,int NewM,int NewS);
void ShowTime();
private:
int Hour,int Minute,int Second;
};
这里定义了一个名为Clock的类,其中的函数成员和数据成员描述了抽象的结果。{}限定了类的边界。关键字public和private是用来指定成员的不同访问权限的。 声明为public的两个函数为类提供了外部接口,外界只能通过这个接口来与Clock类发生联系。声明为private的三个整形数据是本类的私有数据,外部数据无法直接访问。
通过封装使一部分成员充当类与外部的接口,而将其他的成员隐藏起来,这样就达到了对成员访问权限的合理控制,是不同类之间的相互影响减少到最低限度,进而增强数据的安全性和简化程序的编写工作。
4.1.3 继承
C++语言中提供了类的继承机制,允许程序员在保持原有类特性的基础上,进行更具体、更详细的说明。
4.1.4 多态
多态性是指一段程序能处理多种类型对象的能力。在c++语言中,这种多态性可以通过:(强制多态、重载多态、类型参数化多态、包含多态)4种形式来实现。
4.2 类与对象
类是面向对象程序设计方法的核心,利用类可以实现对数据的封装和隐蔽。
在面向对象程序设计中,程序模块是由类构成的。类是对逻辑上相关的数据的封装,它是对问题的抽象描述。
4.2.1 类的定义
这里还是以时钟为例,时钟类的定义如下:
class Clock
{
public:
void SetTime(int NewH,int NewM,int NewS);
void ShowTime();
private:
int Hour,int Minute,int Second;
};
剩余18页未读,继续阅读
资源评论
窝窝704
- 粉丝: 0
- 资源: 4
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功