C++_Chapter8

C++_Chapter8

ID:41299262

大小:373.00 KB

页数:54页

时间:2019-08-21

C++_Chapter8_第1页
C++_Chapter8_第2页
C++_Chapter8_第3页
C++_Chapter8_第4页
C++_Chapter8_第5页
资源描述:

《C++_Chapter8》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、第8章类和对象8.1面向对象程序设计方法概述8.2类的声明和对象的定义8.3类的成员函数8.4对象成员的引用8.5类的封装性和信息隐蔽8.6类和对象的简单应用举例18.1面向对象程序设计方法概述到目前为止,编程方法采用面向过程、按顺序进行的机制,程序必须有一个完整的开始、处理和结束过程,即前面的方法是面向过程的程序设计方法。对于规模比较小的程序,编程者可以直接编写出一个面向过程的程序,详细地描述每一瞬时的数据结构及对其的操作过程。但是当程序规模较大时,就显得力不从心了。28.1.1什么是面向对象的程序设计

2、面向对象的程序设计的思路和人们日常生活中处理问题的思路是相似的。在自然世界和社会生活中,一个复杂的事物总是由许多部分组成的。当人们生产汽车时,分别设计和制造发动机、底盘、车身和轮子,最后把它们组装在一起。用户使用时,只需触发某个元件,就可以带动其他部分元件工作,各部分之间协调工作,完成用户要求的动作。面向对象的程序设计方法采用由用户或系统触发来驱动程序的机制,设计人员不必考虑程序执行的精确顺序,只需编写响应用户动作的程序。31.对象客观世界中任何一个事物都可以看成一个对象(object)。对象就是任何我们

3、可以想象出来的具体的物体。。其实单词Object更直观的翻译应该是物体。世界就是由各种物体组成的,比如某一辆汽车、某一个人、某一个杯子等等,这些都可以看作对象。任何一个对象都应当具有这两个要素,即属性(attribute)和行为(behavior),它能根据外界给的信息进行相应的操作。一般来说,凡是具备属性和行为这两种要素的,都可以作为对象。在一个系统中的多个对象之间通过一定的渠道相互联系。要使某一个对象实现某一种行为(即操作),应当向它传送相应的消息。对象之间就是这样通过发送和接收消息互相联系的。4每个

4、对象都是由数据和函数(即操作代码)两部分组成的。数据体现前面提到的“属性”,如一个三角形对象,它的边长就是属性。函数对数据进行操作实现某些功能,例如计算出三角形的面积,输出计算结果等,称为行为,也称为方法。调用对象中的函数就是向该对象传送一个消息,要求该对象实现某一行为(功能)。面向对象的程序设计就是以上的思路。设计一个复杂的软件系统时,首要的问题是确定该系统是由哪些对象组成的,并且设计这些对象。52.封装与信息隐蔽可以对一个对象进行封装处理,把它的一部分属性和功能对外界屏蔽,也就是说从外界是看不到的,甚

5、至是不可知的。这样做的好处是大大降低了操作对象的复杂程度。所谓“封装”,指两方面的含义:一是将有关的数据和操作代码封装在一个对象中,形成一个基本单位,各个对象之间相对独立,互不干扰。二是将对象中某些部分对外隐蔽,只留下少量接口,以便与外界联系,接收外界的消息。这种对外界隐蔽的做法称为信息隐蔽(imformationhiding)。信息隐蔽还有利于数据安全,防止无关的人了解和修改数据。63.抽象从我们需要解决的问题出发,在与该问题相关的一组关联对象中提取出主要的或共有的部分。抽象的作用是表示同一类事物的本质

6、。例如,数据类型就是对一批具体的数的抽象。如一个三角形可以作为一个对象,10个不同尺寸的三角形是10个对象。如果这10个三角形对象有相同的属性和行为,可以将它们抽象为一种类型,称为三角形类型。在C++中,这种类型就称为“类(class)”。这10个三角形就是属于同一“类”的对象。我们把这种能够抽象地描述某一些具有共性的物体的词称为类(Class)。类是对象的抽象,而对象则是类的特例,或者说是类的具体表现形式。74.继承与重用如果在软件开发中已经建立了一个名为A的“类”,又想另外建立一个名为B的“类”,而后

7、者与前者内容基本相同,只是在前者的基础上增加一些属性和行为,这就是面向对象程序设计中的继承机制。利用继承可以简化程序设计的步骤。“白马”继承了“马”的基本特征,又增加了新的特征(颜色),“马”是父类,或称为基类,“白马”是从“马”派生出来的,称为子类或派生类。C++提供了继承机制,采用继承的方法可以很方便地利用一个已有的类建立一个新的类。这就是常说的“软件重用”的思想。85.多态性在Windows环境下,用鼠标双击一个文件对象(这就是向对象传送一个消息),如果对象是一个可执行文件,则会执行此程序,如果对象

8、是一个文本文件,则启动文本编辑器并打开该文件。在C++中,所谓多态性(polymorphism)是指:由继承而产生的相关的不同的类,其对象对同一消息会作出不同的响应,分别执行不同的操作。这种情况就是多态现象。多态性是面向对象程序设计的一个重要特征,能增加程序的灵活性。98.1.2面向对象程序设计的特点面向对象程序设计面对的是一个个对象。程序设计者的任务包括两个方面:一是设计所需的各种类和对象,即决定把哪些数据和操作封装在一起;

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

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

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