- 1、本文档共180页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
10c程序设计(第二版)类和对象1108
基于对象的程序设计 第10章 类和对象 10.1 面向对象程序设计方法概述 10.2 类的声明和对象的定义 10.3 类的成员函数 10.4 对象成员的引用 10.5 类的封装性和信息隐蔽 10.6 类和对象的简单应用举例 10.1 面向对象程序设计方法概述 至今,我们学习的全是: C++面向过程编程知识。 面向过程程序设计方法 适合规模较小的程序 不适合规模较大的程序 优点:速度快,效率高! 应用领域: 硬件驱动程序 操作系统底层程序(如Android底层) 面向对象程序设计方法: 为编写大规模程序而诞生! 10.1.1 什么是面向对象的程序设计 模拟人的思维方式:面向对象的程序设计的思路和人处理问题的习惯思路相似。 变复杂为简单—化整为零:在自然世界和社会生活中,一个复杂的事物总是由许多组成部分组成的: 生产汽车的过程由设计和制造:发动机、底盘、车身、轮子和总装几大部分组成。 总装时,各部分之间有一定联系,需协调工作。 上述思路即: 面向对象程序设计基本思路。 先讨论有关概念。。。 1. 对象 事物即对象:客观世界的任何事物都可以看成一个对象(object)。 众多相关对象构成系统:对象是构成系统的基本单位。可大可小。 对象有两个要素:属性(attribute)和行为(behavior)。一个对象往往由一组属性和一组行为构成。并能响应外界给出的信息进行相应的操作。所以,一般的: 只有具备属性和行为两要素,都可视为对象。 对象中含有数据和对数据进行操作的功能程序代码(操作代码)。 对象之间通过收、发消息互相联系:一个系统中的多个对象之间通过消息相互联系。要使某一个对象实现某一种行为(即操作),应当向它传送相应的消息。对象之间通过发送和接收消息进行联系: 对象之间通过收、发消息相互联系: 一个系统中的多个对象,如图10.1, 令某个对象实现某种行为(即操作),应向它传送相应的消息。 对象之间通过发送和接收消息互相联系。 面向对象程序设计思路:采用人所习惯、熟悉的思路 设计一个复杂的软件系统要点: 1、确定该系统由哪些对象组成 2、设计这些对象。 3、每个对象都是由数据和函数(即操作代码)这两部分组成。 4、数据体现“属性”:如一个三角形对象,它的3个边长就是它的属性。 函数对数据进行操作,实现功能:例如可以通过边长计算出三角形的面积,并且输出三角形的边长和面积。 行为即功能:计算三角形面积和输出有关数据就是行为,在程序设计方法中也称为方法(method)。故,以下术语密切相关: 方法=函数=功能=操作=行为 调用对象中的函数:就是向该对象传送一个消息(message),要求该对象实现某一行为(功能)。 2. 封装与信息隐蔽 信息隐藏(imformation hiding)与封装(encapsulation) 是面向对象程序设计方法的重要特点,是相互联系的两个概念。 隐藏:指对象部分属性和功能被隐藏。把对象的部分属性和功能对外界屏蔽,使外界看不到,甚至不可知。 “封装”有两个含义: 1、指将相关数据和代码封装在对象中。形成一个基本单位,对象之间相对独立,互不干扰。 2、指隐蔽对象中的某些内部细节。只留少量接口与外界联系,收发消息。 函数名即对象的对外接口,外界可通过函数名调用函数,以实现某些行为(功能)。 封装与隐藏的优点: 降低操作对象的复杂度。易于编程。 有利于数据安全。无关人员不能了解和修改数据。 3. 抽象 抽象(abstraction):是将有关事物的共性进行归纳和集中的过程。 抽象的作用:得到同一类事物的本质。 数据类型是数据的抽象:C和C++中的数据类型就是对一批具体的数的抽象。 类是对象的抽象: 对象—具体存在的个性实物。如一个三角形可以作为一个对象,10个不同尺寸的三角形是10个对象。 类—同质事物的抽象概念。如果这10个三角形对象有相同的属性和行为,可以将它们抽象为一种类型,称为三角形类型。在C++中,这种类型就称为“类(class)”。 这10个三角形是属于同一个“类”的10个对象。 类是对象的抽象,而对象则是类的特例。或者说是类的具体表现形式。 4. 继承与重用 继承:新“类”与旧“类”基本相同,只有少许改进时,可继承旧类。已经建立了一个名为A的“类”,又想建立一个名为B的“类”,而后者与前者内容基本相同,只是在前者的基础上增加一些属性和行为,只需在类A的基础上增加一些新内容即可。这就是面向对象程序设计中的继承机制。 利用继承可以简化程序设计的步骤。 “白马”继承了“马”的基本特征,又增加了新的特征(颜色), “马”是父类,或称为基类,“白马”是从“马”派生出来的,称为子类或派生类。 采用继承的方法可以很方便地利用一个已有的类建立一个新的类。 此
您可能关注的文档
- 06-1植物生长发育及其调控物质.ppt
- 023022绿城集团标准工程节点做法参考v3.0版.ppt
- 1.7.3.0 稀特与创汇蔬菜-根菜类与薯芋类.ppt
- 0奇瑞班冲压工艺知识培训教材ok.ppt
- 10.九章电化学保护(11,12).ppt
- 10 第十讲 秦-祁-昆、扬子、华南、特提斯成矿域.ppt
- 12011 2012年电镀工艺课件 镀锌最后.ppt
- 校园周边书店阅读氛围对初中生阅读素养提升的影响研究教学研究课题报告.docx
- 初中校园餐饮卫生监管与食品安全教育创新模式研究教学研究课题报告.docx
- 《文化遗产保护与旅游开发平衡机制的法律法规完善研究》教学研究课题报告.docx
- 基于人工智能教育平台的移动应用开发,探讨跨平台兼容性影响因素及优化策略教学研究课题报告.docx
- 高中生物实验:城市热岛效应对城市生态系统服务功能的影响机制教学研究课题报告.docx
- 信息技术行业信息安全法律法规研究及政策建议教学研究课题报告.docx
- 人工智能视角下区域教育评价改革:利益相关者互动与政策支持研究教学研究课题报告.docx
- 6 《垃圾填埋场渗滤液处理与土地资源化利用研究》教学研究课题报告.docx
- 小学音乐与美术教师跨学科协作模式构建:人工智能技术助力教学创新教学研究课题报告.docx
- 《航空航天3D打印技术对航空器装配工艺的创新与效率提升》教学研究课题报告.docx
- 教育扶贫精准化策略研究:人工智能技术在区域教育中的应用与创新教学研究课题报告.docx
- 《区块链技术在电子政务电子档案管理中的数据完整性保障与优化》教学研究课题报告.docx
- 《中医护理情志疗法对癌症患者心理状态和生活质量提升的长期追踪研究》教学研究课题报告.docx
文档评论(0)