- 1、本文档共81页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C第一章面向对象程序设计概述
C++面向对象程序设计;C++面向对象程序设计;学习体会;参考书;第1章 面向对象程序设计概述;1.1 计算机程序设计语言的发展;1.1.1 机器语言;1.1.2 汇编语言 ;1.1.3高级语言 ;1.1.3高级语言 ;1.1.3高级语言 ;1.1.3高级语言;1.1.3高级语言;1.1.3高级语言;1.1.4面向对象程序设计语言;1.1.4面向对象程序设计语言;1.1.4面向对象程序设计语言;1.1 计算机程序设计语言的发展;1.2 面向对象程序语言的特征;1.2.1 类与对象;对象示例1:一个“学生”对象的例子
对象名:学生
对象的属性:
学号:123456
姓名:令狐冲
年龄:18
专业:信管
行为
修改学号、姓名、专业、年龄等等
;对象示例2:一个“课程”对象的例子:
对象名:课程
对象的属性:
课程号:123456
课程名:程序设计
任课教师:莫名
选课要求:
学时:48
行为
获取并修改课程名、课程号、学时数、选课要求、任课教师等
;2. 类的基本概念
类 :是具有??同属性和行为的一组对象的集合,它为属于该类的全部对象提供统一的的抽象描述
类和对象的关系:类 ? 对象 抽象定义 实例
类 ?对象举例
学生 ? 学生王强
课程 ? C++程序设计
类型 ? 变量, 如 C 语言中的 int 和 int x;
类的实例——用类定义的类变量,即对象。类是对多个特性相同的对象实例的抽象,所以同一类的不同实例之间必有:
相同的操作集合
相同的属性集合
不同的对象名,分配有不同的存储空间。;3、类的确定与划分
类的确定——对所遇到的对象进行分析、归纳,根据共同的特征来确定一个类。
类的确定的方法:
判断是否有一个以上的实例
判断类的实例中是否有绝对的不同点
类的划分不是绝对的,可以根据不同的实际需要确定不同的类;1.2.1 类与对象;1.2.2抽象与封装;1.2.2抽象与封装;2、封装性
从外面看只能看到对象的外部特性,即能够受理哪些信息,具有哪些处理能力;对象的内部,即处理能力的实行和内部状态,对外是不可见的。
从外面不能直接使用对象的处理能力,也不能直接修改其内部状态,对象的内部状态只能由其自身改变。
封装的优点:
1.降低部件间的耦合度,提高部件的独立性
2.具有隐藏性和安全性 (如银行的帐户)
3.易于维护(由于数据独立,易于发现问题)
4.封装将对象的使用者与设计者分开,使用者只需要通过接口访问对象,不必须了解对象的内部细节.提高了软件复用.
封装的缺点:
需要更多的输入输出函数。 ;3、封装的形式;1.2.2抽象与封装;1、继承的基本概念
古语:龙生龙,凤生凤,老鼠生儿会打洞
继承:对象类之间的相交关系,使得某类对象可以继承另外一类对象的特征和功能
类间具有继承关系的特性:
类间具有共享特征(包括数据和程序代码的共享):遗传
类间具有细微差别或新增部分(包括非共享的程序代码和数据):变异
类间具有层次结构(如同人类通过继承构成了家簇关系一样)
;2、继承分类
从继承源上划分:单继承(一个派生类只有一个基类)、多继承(一个派生类有多个基类)
从继承内容上划分:取代继承、包含继承、受限继承、特化继承。
3、继承的作用:
实现软件的可重用性
实现软件的独立性
增加软件的可维护性
;4、继承的层次结构;5、继承与封装的关系
封装是指对象的的封装,在对象中数据和操作总是包裹在一起的,继承不会影响对象的这种封装性,但无限制的派生继承会在一定程度上损害对象中数据的隐蔽性。
封装使类定义中实现的代码可以用于该类的各个实例(对象)中,实现了动态共享代码;继承使用派生类能与基类共享基类中实现的代码,实现了静态共享代码。
6、类的层次
由一个类可以派生出任意多个派生类,这样就形成了类的层次关系,这是现实世界中事物的分类问题在计算机中的解形式。
;7、继承的优势
能清晰体现相关类间的层次结构关系。
有效地址提高了程序的可重用性,减小了程序代码的冗余度。
增强了程序的一致性,减少了程序模块间的接口和界面,使程序更易维护。
继承是自动传播程序代码的有力工具。
继承是新类构造、建立和扩充的有效手段。
继承具有传递性
如果类C继承类B,类B继承类A,则类C继承类A
“站在巨人的肩头上”。用户在开发新系统时不必从零开始,可以继承原有相似功能或者从类库中选取需要的类,再派生新类。
;例1:车辆的继承关系;1、多态polymorphism
对象根据所接受的消息而做出动作,同样的消息为不同的对象接受时可导致完全不同的行动,该现象称为多态性。
简单的说:单接口,多实现
举例:sqrt_i (in
您可能关注的文档
- 人教版三年级语文下册《月球之谜》-牛祥英.ppt
- 人教版七年级英语Unit6Period3Doyoulikebananas.ppt
- 人教版七年级历史上册第十课课件.pptx
- 人教版三年级语文下册第三单元复习.ppt
- 人教版三年级下册《月球之谜》ppt.ppt
- 人教版七年级语文上册20.《狼》课件(48张).ppt
- 人教版七年级语文《孙权劝学》.ppt
- 人教版七年级语文上册13《纪念白求恩》教学课件(47张PPT).ppt
- 人教版九年级数学《解直角三角形PPT课件》优秀课件.ppt
- 人教版三年级语文下册《古诗二首-乞巧》课件.ppt
- 师缘主题课件最新完整版本.pptx
- 基于偏好MOEA_D算法的气发动机多目标优化标定研究.pdf
- 师范技能课件比赛一等奖最新完整版本.pptx
- 师范生初中美术说课课件最新完整版本.pptx
- 师范技能课件图片素材库最新完整版本.pptx
- Unit 2 Making a Difference Understanding ideas The Well that changed the world 教学设计-高中英语外研版(2019)必修第三册.docx
- 师范生技能大赛PPT课件语文最新完整版本.pptx
- 基于扭矩的双燃料发动机控制策略研究.pdf
- 1.2.1 等差数列的概念及其通项公式(教学设计)高二数学(北师大版2019选择性必修第二册).docx
- 师范文化课件最新完整版本.pptx
文档评论(0)