第7章 类和对象

第7章 类和对象

ID:44962311

大小:158.50 KB

页数:68页

时间:2019-11-06

第7章 类和对象_第1页
第7章 类和对象_第2页
第7章 类和对象_第3页
第7章 类和对象_第4页
第7章 类和对象_第5页
资源描述:

《第7章 类和对象》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、C++程序设计第7章类和对象面向对象程序设计类的定义对象的定义对象的初始化成员函数的特性对象数组对象指针静态成员常对象子对象友元函数与友元类主要内容1、面向对象程序设计1、面向对象的基本概念类是对某一类对象的抽象,而对象是某一种类的实例。因此,类和对象是密切相关的。没有脱离对象的类,当然也没有不依赖于类的对象,类是对现实世界的抽象得到的。当我们把现实世界分解为一个个的对象,解决现实世界问题的计算机程序也与此相对应,由一个个对象组成,这些程序就称为面向对象的程序,编写面向对象程序的过程就称为面向对象的程序设计(Obje

2、ct-OrientedProgramming,简称为OOP)。2、面向对象程序设计的特点面向对象程序设计面对的是一个个对象。其中每一组数据都是有特定的用途的,是某种操作的对象。也就是说,一组操作调用一组数据。程序设计者的任务包括:一是设计所需的各种类和对象,即决定把哪些数据和操作封装在一起;二是考虑怎样向有关对象发送消息,以完成所需的任务。对一个大型任务来说,面向对象程序设计方法是十分有效的,它能大大降低程序设计人员的工作难度,减少出错机会。1)封装与信息隐蔽对一个对象进行封装处理,把它的一部分属性和功能对外界屏蔽,

3、也就是说从外界是看不到的,甚至是不可知的。其好处是大大降低了操作对象的复杂程度。封装:一是将有关的数据和操作代码封装在一个对象中,形成一个基本单位,各个对象之间相对独立,互不干扰。二是将对象中某些部分对外隐蔽,即隐蔽其内部细节,只留下少量接口,以便与外界联系,接收外界的消息。这种对外界隐蔽的做法称为信息隐蔽(informationhiding)。信息隐蔽还有利于数据安全,防止无关的人了解和修改数据。对程序设计而言,封装性使对象内部的实现与外界隔离,提供了更理想的模块化机制,减少了程序间的相互干扰。2)继承与重用类具有

4、层次性,即一个类的上层有父类,下层有子类,一个类继承了父类的某些特性,这种继承具有传递性。继承是一种连接类与类的层次模型,利用现有的类派生出新的类的过程称为类的继承,新类(子类)拥有原有类(父类)的特性,又增加了自身新的特性。设计程序时只需对新增的内容或对原内容修改设计代码,除了共享机制外,继承还有传递机制,即下层的子类可以继承各层父类的全部特性。3)多态性如果有几个相似而不完全相同的对象,有时人们要求在向它们发出同一个消息时,它们的反应各不相同,分别执行不同的操作,这就是多态现象。(在Windows下,用鼠标双击一

5、个文件对象(这就是向对象传送一个消息),如果对象是一个可执行文件,则会执行此程序,如果对象是一个文本文件,则启动文本编辑器并打开该文件。)多态性(polymorphism)是指:由继承而产生的相关的不同的类,其对象对同一消息会作出不同的响应。多态性是面向对象程序设计的一个重要特征,能增加程序的灵活性。面向对象的程序设计是以类和对象为基础的,程序的操作是围绕对象进行的,在此基础上利用了继承机制和多态性等。面向过程的结构化程序设计中,常用以下公式来表述程序:程序=算法+数据结构面向对象程序设计就是把一个算法和一组数据结构

6、封装在一个对象中。因此就形成了新的观念:对象=算法+数据结构程序=(对象+对象+对象+…)+消息或: 程序=对象s+消息面向对象程序设计的特点类是面向对象程序设计的核心。类是对某一类对象的抽象,而对象是某一种类的实例。在现实中,类是对一组客观对象的抽象,它将该组对象所具有的共同特征(包括属性和服务)封装起来,以说明该组对象的能力和性质。在系统中,类(class)是一种用户自定义的数据类型。通过类使得现实中的抽象实体在程序中直接表示为一个标识符,并可以进行引用和操作。这使得程序中的概念与应用中的概念相互比较一致和对应。

7、2、类的定义1、类的定义格式类的定义格式一般地分为说明部分和实现部分。说明部分是用来说明该类中的成员,包含数据成员的说明和成员函数的说明。实现部分是用来对成员函数的定义。概括说来,说明部分将告诉使用者“干什么”,而实现部分是告诉使用者“怎么干”。类的一般定义格式如下:class<类名>{public:<成员函数或数据成员的说明>private:<数据成员或成员函数的说明>protected:<数据成员或成员函数的说明>};<各个成员函数的实现>【例7.1】定义一个Clock时钟类classClock{public:v

8、oidinit();//初始化时间voidupdate();//当改变时间时刷新时间数据voiddisplay();//显示时间private:inthour,minute,second;//时,分,秒};//别忘了“}”后面的“;”!2、定义类时应注意的事项在说明部分中,class是定义类类型的关键字,Clock是类名,通常用大写字母开始的字

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。