- 1、本文档共58页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C程序设计第八章(第七讲)
第3篇 基于对象的程序设计 第8章 类和对象 1. 对象 客观世界中任何一个事物都可以看成一个对象(object)。 对象是构成系统的基本单位。 对象的两个要素:即属性(数据)、方法(函数) 面向对象的程序设计思想实现一个复杂的软件系统时,首要的问题是确定该系统是由哪些对象组成的,并且设计这些对象。 调用对象中的函数就是向该对象传送一个消息(message),要求该对象实现某一行为(功能)。 2. 封装与信息隐蔽 封装指将有关的数据和操作代码封装在一个对象中,形成一个基本单位,各个对象之间相对独立,互不干扰。信息隐蔽是将对象中某些部分对外隐蔽,即隐蔽其内部细节,只留下少量接口,以便与外界联系,接收外界的消息。 3. 抽象 抽象的过程:将有关事物的共性归纳、集中的过程。 抽象的作用:表示同一类事物的本质。 C和C++中的数据类型就是对一批具体的数的抽象。 类是对象的抽象,而对象则是类的特例,也是类的具体表现形式。 4. 继承与重用 设有A类,需要在A类的基础上定义B类,可以让B类继承A类,并在B类中增加一些属性和行为。称为类的继承。 A类称为基类或父类,B类从A类派生出来,称为派生类或子类。 5. 多态性 由继承而产生的相关的不同的类,其对象对同一消息会作出不同的响应。 多态性是面向对象程序设计的一个重要特征,能增加程序的灵活性。 二、 面向对象程序设计的基本思想 三、 面向对象的软件开发 2. 面向对象设计 根据面向对象分析阶段形成的需求模型,对每一部分分别进行具体的设计,首先是进行类的设计。然后以这些类为基础提出程序设计的思路和方法。 3. 面向对象编程 根据面向对象设计的结果,选用面向对象的计算机语言写出程序。 4. 面向对象测试 在写好程序后,必须对程序进行严格的测试。测试的目的是发现程序中的错误并改正它。面向对象测试是用面向对象的方法进行测试,以类作为测试的基本单元。 5. 面向对象维护 因为对象的封装性,修改一个对象对其他对象影响很小。利用面向对象的方法维护程序,大大提高了软件维护的效率。 8.2 类的声明和对象的定义 8.2.1 类和对象的关系 每一个实体都是对象。每个对象都属于一个特定的类型。 在C++中对象的类型称为类(class)。 创建类和类的对象的一般步骤: (1)声明一个类类型 (2)定义若干个同类型的对象。 说明1:对象就是类类型的一个变量。 说明2:类是抽象的,不占用内存,而对象是具体的,占用存储空间。 8.2.2 声明类类型 类定义的一般形式: class 类名 { private: 私有的数据和成员函数; public: 公用的数据和成员函数; }; 说明: (1)private和public称为成员访问限定符 private 成员只能被本类的成员函数访问;public 成员可以被类内外的函数访问。 (2)如果在类的定义中既不指定private,也不指定public,则系统就默认为是私有的。 例: class Student { int num; char name[20]; char sex; void display( ) {coutnum:numendl; coutname:nameendl; coutsex:sexendl; } }; Student stud1,stud2; 可以看到,类(class)就是对象的类型。实际上,类是一种广义的数据类型。类这种数据类型中的数据既包含数据,也包含操作数据的函数。 不能把类中的全部成员与外界隔离,一般是把数据隐蔽起来,而把成员函数作为对外界的接口。 可以将上面类的声明改为: class Student //声明类类型 { private: //声明以下部分为私有的 int num; char name[20]; char sex; public: //声明以下部分为公用的 void display( ) {coutnum:numendl; coutname:nameendl; coutsex:sexendl; } }; Student stud1,stud2;
您可能关注的文档
- Adobe Encore DVD制作DVD菜单快速入门.pdf
- ADS应用中的器件建模.pdf
- AFP税务知识重点.ppt
- AIM市场介绍.pdf
- AIX 下nslookup命令的使用.docx
- Ajax程序设计(第九讲).ppt
- Alkali±hydrogen reactions.pdf
- allegro16.6破解过程详解-Xiaoge.pdf
- altera汽车电子应用方案.pdf
- Altium Designer常用快捷键列表.doc
- 2024年中国金属铭牌市场调查研究报告.docx
- [合肥]2024年安徽合肥市肥东县事业单位招聘131人笔试历年典型考题及解题思路分析附带答案详解.docx
- 2024年中国白钢影印奖牌市场调查研究报告.docx
- 2024年中国麂皮擦车巾市场调查研究报告.docx
- 2024年中国水泥井盖模具市场调查研究报告.docx
- [南通]2024年江苏南通开放大学招聘5人笔试历年典型考题及解题思路分析附带答案详解.docx
- [北京]2024年首都医科大学事业编制岗位招聘笔试历年典型考题及解题思路分析附带答案详解.docx
- [南京]2024年江苏南京市江宁区教育局所属事业单位招聘高层次教师6人笔试历年典型考题及解题思路分析.docx
- 2024年中国催化加氢反应釜市场调查研究报告.docx
- [南京]2024年江苏南京市儿童医院招聘通用类岗位笔试历年典型考题及解题思路分析附带答案详解.docx
文档评论(0)