- 1、本文档共11页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第5章 计算机程序设计
第一部分 阅读和翻译
A部分 面向对象编程
面向对象编程(OOP)是一种编程模式,使用“对象”及其相互作用来设计应用程序和计算机程序。编程技术可能包括如封装,模块化,多态性和继承的功能。这是不常用的主流应用软件开发,直到1990年代初期。许多现代的编程语言才开始支持面向对象。
1. 简介
面向对象的编程其根源可以追溯到1960年的。随着硬件和软件变得越来越复杂,质量被妥协。研究人员研究了可以使软件质量可维持不变的方法。面向对象编程被部署在要求解决这一问题并强调离散单位编程逻辑和再使用的软件的部分。(1)计算机编程的方法侧重于数据,而不是过程,使用由自给自足模块(对象)组成 的程序,其中载有需要操纵一个数据结构所有信息。[1]
面向对象的程序设计可被看作是一个合作对象的集合,而不是传统的观点,其中一个程序可以被看作是一组任务来计算(“子程序”)。在面向对象编程中,每个对象是能够接收信息,处理数据,并给其他对象发送信息。
2. 基本概念
一项调查阿姆斯特朗的德博拉学者近40年来文学的计算确定了一些“夸克”,或基本概念,发现在绝大多数的定义对象。它们是:
(1)类
类定义具有抽象特征的事物(对象),包括事物的特点(其属性,字段或属性)和事物的行为(它可以做的事,或完成事的方法,操作或功能)。例如,类犬由具有所有相同特征的狗组成,如品种和皮毛颜色(狗的特性),并且可以吠和坐下(行为)。类为计算机编程提供了模块和结构功能。一个类通常应该可以被对某一领域熟悉的非程序员所识别,也就是说这个类说明的特征应该在这个领域具有代表。同时,一个类的代码应该是相对独立的(一般采用封装的方法)。由类定义的集合,属性和方法被称为成员。
(2)对象
对象是类的模式(范例)。定义类犬界定所有狗可能具有的特点和行为;莱西是一个具有独自特点的狗。一只狗有毛皮,莱茜的毛皮是棕白色的。
(3)实例
可以对一类或某一特定对象举例。该实例为实际运行时创建的对象。用程序员的术语来说,Lassie对象的是一个狗类的举例。这套特定对象价值属性被称为其状态。对象包括状态和在该对象类定义的行为。
(4)方法
方法是一个对象的能力。Lassie,作为狗,能叫。因此,bark()是Lassie的方法。她可能有其他的方法,例如sit()或eat()或walk()或save_Timmy()。在此程序中,使用方法通常只影响一个特定的对象;所有狗都能叫,但是你只需要一个特定的狗去叫。
(5)继承
“子类”是特别的一类,它从父类继承属性和行为,并能介绍自己。例如,狗类可能有子类称为Collie,Chihuahua和GoldenRetriever 。在这种情况下,Lassie是Collie子类的一个举例。假设狗类定义的一种方法称为bark()和一个为毛色的属性。每个子类(Collie,Chihuahua和GoldenRetriever )将继承这些,这意味着程序员只需要为他们编写一次代码。
每个子类可以改变其遗传性状。例如,对于Collie类的默认毛色棕白相间。在Chihuahua类默认规定,bark()产生一个高音。子类也可以添加新成员。在Chihuahua类可以添加一个方法称为tremble() 。因此,对于单个Chihuahua能高声叫,这来自Chihuahua子类,它继承了一般狗的bark()。Chihuahua对象也会有tremble()方法,但Lassie不会,因为它是Collie,而不是Chihuahua。事实上,继承是一种关系:Lassie是Collie。Collie是狗。因此,Lassie继承 Collies和狗的方法。
多重继承是指从多个祖类继承,它们之间互不为祖类。例如,独立的类可以定义猫和狗,奇美拉可以由继承所有或多个行为的猫狗产生。这不是一贯支持的,因为它是很难实施和用好。
(6)抽象
抽象是通过符合问题的建模来简化复杂的现实,在给定方面的问题上,它在最适当的继承水平上工作。例如,在很多时候Lassie被视为狗,当它需要拥有Collie的属性及行为时,它被视为Collie,在清点Timmy宠物的时候它被视为动物。
(7)封装
封装隐藏了工作的细节。比如,每个种类的狗叫的方法都不一样。代表狗叫方法的代码准确地定义了一个叫声如何开始(从吸气开始然后呼气,发出特定的声调和声量)。但是Lassie的朋友Timmy并不需要准确的知道她如何叫。封装是通过区别对象的类来实现的。于是结果就是每个对象都可能在某个层面暴露给任何一个类,也就是在这个对象中拥有一个属于那个类的成员。使用封装的理由就是防止在每个层的用户区依赖执行方案中另一个在将来可能会发生突变的部分,因为这样会使突变发生得更加频繁,也就是说封装的目的是防止用户使用的功能发生变化。比如,一个层可以保证小狗通
您可能关注的文档
- 计算机英语教程 第3版 普通高等教育十一五 国家级规划教材 配套习题 作者 司爱侠 张强华 unit 9.ppt
- 计算机英语教程 第3版 普通高等教育十一五 国家级规划教材 配套习题 作者 司爱侠 张强华 邮电高职计算机英语参考试卷.doc
- 计算机英语教程 第二版 教学课件 作者 司爱侠 张强华 unit 1.ppt
- 计算机英语教程 第二版 教学课件 作者 司爱侠 张强华 unit 2.ppt
- 计算机英语教程 第二版 教学课件 作者 司爱侠 张强华 unit 3.ppt
- 计算机英语教程 第二版 教学课件 作者 司爱侠 张强华 unit 4.ppt
- 计算机英语教程 第二版 教学课件 作者 司爱侠 张强华 unit 5.ppt
- 计算机英语教程 第二版 教学课件 作者 司爱侠 张强华 unit 6.ppt
- 计算机英语教程 第二版 教学课件 作者 司爱侠 张强华 unit 7.ppt
- 计算机英语教程 第二版 教学课件 作者 司爱侠 张强华 unit 8.ppt
文档评论(0)