- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
修改时间2013年秋季C++程序设计—类和对象(一).ppt
C++程序设计基础; 类的定义
对象的定义
对象的初始化
成员函数的特性
静态成员
友元
局部类和嵌套类;1. 类的定义;在现实中,类是对一组客观对象的抽象,它将该组对象所具有的共同特征(包括属性和服务)封装起来,以说明该组对象的能力和性质。
在系统中,类(class)是一种用户自定义的数据类型。通过类使得现实中的抽象实体在程序中直接表示为一个标识符,并可以进行引用和操作。
这使得程序中的概念与应用中的概念相互比较一致和对应。;1. 对象
客观世界中任何一个事物都可以看成一个对象(object)。
对象可大可小。对象是构成系统的基本单位。
任何对象都具两个要素,即属性(attribute)和行为(behavior)
它能根据外界给的信息进行相应的操作。一个对象往往是由一组属性和一组行为构成的。
在一个系统中的多个对象之间通过一定的渠道相互联系。
要使某一个对象实现某一种行为(即操作),应当向它传送相应的消息。对象之间就是这样通过发送和接收消息互相联系的;面向对象的基本概念;C++,每个对象都是由数据和函数(即操作代码) 两部分组成。
数据体现了前面提到的“属性”。如一个三角形对象,它的3个边长就是它的属性。
函数是用来对数据进行操作的,以便实现某些功能(即行为)。例如可以通过边长计算出三角形的面积等,计算三角形面积就是前面提到的行为,在程序设计方法中也称为方法(method)。
调用对象中的函数就是向该对象传送一个消息(message),要求该对象实现某一行为(功能)。;2. 封装与信息隐蔽
对一个对象进行封装处理,把它的一部分属性和功能对外界屏蔽,也就是说从外界是看不到的,甚至是不可知的。其好处是大大降低了操作对象的复杂程度。
封装:一是将有关的数据和操作代码封装在一个对象中,形成一个基本单位,各个对象之间相对独立,互不干扰。二是将对象中某些部分对外隐蔽,即隐蔽其内部细节,只留下少量接口,以便与外界联系,接收外界的消息。
这种对外界隐蔽的做法称为信息隐蔽(information hiding)。信息隐蔽还有利于数据安全,防止无关的人了解和修改数据。;3. 抽象
抽象(abstraction)就是将有关事物的共性归纳、集中的过程。抽象的作用是表示同一类事物的本质。C++中的数据类型就是对一批具体的数的抽象。
对象是具体存在的,类是对象的抽象;对象则是类的特例,或者说对象是类的具体表现形式。
(如一个三角形可以作为一个对象,10个不同尺寸的三角形是10个对象。如果这10个三角形对象有相同的属性和行为,可以将它们抽象为一种类型,称为三角形类型。在C++中,这种类型就称为“类(class)”。这10个三角形就是属于同一“类”的对象。);4. 继承与重用
如果在软件开发中已经建立了一个名为A的“类”,又想另外建立一个名为B的“类”,而后者与前者内容基本相同,只是在前者的基础上增加一些属性和行为,只需在类A的基础上增加一些新内容即可。这就是面向对象程序设计中的继承机制。利用继承可以简化程序设计的步骤。
(举例:白马继承马的特征)
C++提供了继承机制,采用继承的方法可以很方便地利用一个已有的类建立一个新的类。这就是常说的“软件重用”(software reusability) 的思想。;5. 多态性
如果有几个相似而不完全相同的对象,有时人们要求在向它们发出同一个消息时,它们的反应各不相同,分别执行不同的操作,这就是多态现象。
(在Windows下,用鼠标双击一个文件对象(这就是向对象传送一个消息),如果对象是一个可执行文件,则会执行此程序,如果对象是一个文本文件,则启动文本编辑器并打开该文件。)
多态性(polymorphism)是指: 由继承而产生的相关的不同的类,其对象对同一消息会作出不同的响应。多态性是面向对象程序设计的一个重要特征,能增加程序的灵活性。; 传统的面向过程程序设计是围绕功能进行的,用一个函数实现一个功能。所有的数据都是公用的,一个函数可以使用任何一组数据,而一组数据又能被多个函数所使用。; 面向对象程序设计面对的是一个个对象。其中每一组数据都是有特定的用途的,是某种操作的对象。也就是说,一组操作调用一组数据。
程序设计者的任务包括: 一是设计所需的各种类和对象,即决定把哪些数据和操作封装在一起;二是考虑怎样向有关对象发送消息,以完成所需的任务。
对一个大型任务来说,面向对象程序设计方法是十分有效的,它能大大降低程序设计人员的工作难度,减少出错机会。;面向对象的程序设计是以类和对象为基础的,程序的操作是围绕对象进行的,在此基础上利用了继承机制和多态性等。
面向过程的结构化程序设计中,常用以下公式来表述程序:
您可能关注的文档
- 云端硬碟等於网路硬碟.ppt
- 云计算暑期报告(陈立龙2009.10).ppt
- 五、控件命名规范.doc
- 交换机更新工程曲师附中询价通知书.doc-曲阜师范大学附属中学.doc
- 产品分类数字电视机顶盒产品型号ZW8935-C+IP产品名称数字.doc
- 产品开发与管理期末报告--85度C指导教授杨宜兴老师班级商三成员.doc
- 产品绿色设计概念说明及辅助技术导入规划.doc
- 人事测量.ppt.ppt
- 人导技能.ppt.ppt
- 人物对话中.doc
- 浙江省平阳中学2025-2026学年高三上学期8月开学考地理试题 Word版无答案.docx
- 浙江省七彩阳光新高考研究联盟2025-2026学年高三上学期返校联考历史试题 Word版无答案.docx
- 浙江省Z20名校联盟(名校新高考研究联盟)2025-2026学年高三上学期第一次联考历史试卷 Word版无答案.docx
- 浙江省七彩阳光新高考研究联盟2025-2026学年高三上学期返校联考物理试题 Word版无答案.docx
- 单元总结提升.pptx
- 第22课 从局部抗战到全国抗战(练习,含解析).docx
- 浙江省强基联盟2025-2026学年高三8月联考语文试题 Word版无答案.docx
- 2024土工合成材料塑料土工格室.pdf
- 第23课 全民族浴血奋战与抗日战争的胜利.pptx
- 第23课 全民族浴血奋战与抗日战争的胜利.docx
最近下载
- 视听语言 镜头运动.pptx VIP
- 广州市白云区广大附中实验中学2022-2023学年上学期期中调研八年级物理问卷.docx VIP
- JB∕T 5317-2016 环链电动葫芦.pdf VIP
- 广东省广州市白云区广大附中实验中学2022-2023学年八年级上学期期末线上考试语文试卷.doc VIP
- 风电机组专项隐患排查治理记录表.doc VIP
- 风电机组专项隐患排查治理记录表自查.pdf VIP
- 工厂生产管理制度(3篇).docx VIP
- 广东省广州市白云区广大附中实验中学2023-2024学年八年级上学期月考数学试题.docx VIP
- 2024年五恒系统行业洞察报告及未来五至十年预测分析报告.docx
- 抗渗砼浇筑技术交底.doc VIP
文档评论(0)