- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
7.4面向对象方法的主要技术7.4.1封装面向对象的风格与传统风格的本质上的区别在于选择机制。选择机制将用户选择与相应操作匹配的数据类型的负担转移给了系统设计员,而在传统设计中,这是由用户自己完成的。选择机制是一个简单而又有效的系统设计工具,它使系统设计员能够清晰地表明他们所提供的服务界面,用户可以全部看见对象提供的操作,但看不到其中的数据。从用户的角度来讲,对象提供了一组服务,而服务的具体实现却与用户屏蔽。如图7.7是一个对象“笔”的使用示意图。第29页,共51页,星期日,2025年,2月5日第30页,共51页,星期日,2025年,2月5日这实际上就是封装。对象中的操作如何实现,内部数据如何管理,这些都封装在过程界面的内部,用户通过过程界面来访问对象。封装是把数据结构同操作数据的函数(方法)组合在了一起,因此它使数据和过程实现了一体化,封装是借助于类这种新的结构和数据类型机制达到的。封装限制了类的属性(数据)和方法的可访问性,使各类成为独立的模块。由于其他类不得引用本类的私有数据与操作,因此避免了传统程序设计中大量的数据传递,减少了数据误操作的可能,提高了软件的可靠性和可维护性。第31页,共51页,星期日,2025年,2月5日7.4.2继承在面向对象的方法中,类是按一定层次组成起来的,称为类层次,即通过类层次把类进行体系化。面向对象方法规定下位类(或称子类)继承上位类(或称父类)的数据和方法,即子类可以照样使用父类的数据和方法,子类可以照样使用父类定义的内容。利用这种特性,在生成新类时,可以只定义与已定义的父类不同的数据和操作。因此,继承的重要作用在于:其一是避免公用代码的重复开发,减少程序的代码量;其二是通过增强一致性来减少模块间的界面。继承性常常用来反映在一个应用领域中的抽象与结构,最早见到的例子如图7.8所示。正方形是一种特殊类型的多边形,正方形通过对多边形的继承,可获得多边形的全部属性。此外,多边形是—个封闭图,所以正方形也将继承封闭图的全部属性。第32页,共51页,星期日,2025年,2月5日第33页,共51页,星期日,2025年,2月5日在一个图形系统中,所有的图都具有线宽、颜色、能被标定(比例尺)、定位以及绘图的特性。这些属性被定义在根类“图”中。此外,封闭图具有周长、面积等属性;多边形再要加上多边形边数这一属性。根据继承性,一个正方形具有线宽、颜色、比例尺、周长、边长及计算面积等属性与操作。下面以图形系统为例来说明继承性。我们先定义图,它在类层次中处于最上层。在一个图形系统中,所有的图都具有以下属性:线宽、颜色、能被标定、定位、绘图的有关特性。图可以分成开放式图和封闭图两类,它们是图的子类,即具有图的所有属性与操作。第34页,共51页,星期日,2025年,2月5日继承机制使系统自然地形成了清晰的层次结构,并且与现实事物的分类习惯相吻合,使人易懂易实现。对父类的数据及操作的继承性可大大提高代码的重要性。继承机制是组织、构造和重用类的一种工具,如果没有继承概念的支持,则所有的类就像一盘散沙,分别是一个个独立的实体。每次开发仍然要从“一无所有”开始,这样,由于类的开发者在构造方法时仍然都各自为政,使得类与类之间失去了联系。第35页,共51页,星期日,2025年,2月5日7.4.3消息映射消息传递是指示对象做什么的唯一手段。在面向对象的方法中,由于只有通过“消息”才能使对象进行某种操作,因此可防止对象被错误地使用。消息传递同非面向对象方法中的子程序调用有所类似,但子程序调用时要移交程序的控制,它自己知道哪一类数据要用哪一种处理。第36页,共51页,星期日,2025年,2月5日第1页,共51页,星期日,2025年,2月5日7.1什么是面向对象方法所谓面向对象是指着眼于对象的一种方法,也就是把现实世界模型化的一种方法。众所周知,现实世界是由许多事物(对象)构成的,事物之间通过互相发出消息进行联系。因此,面向对象是不以控制为中心,而是以事物(对象)的属性与行为为中心来考察问题,并使之能在计算机上进行处理的一种体系。这里的“事物”不仅指人、机器等物理实体,还包括“库存表”、“职工名单”等逻辑实体。人们在现实生活中,为应付现实世界的复杂性,已逐渐形成了很强的对客观事物概括分类和抽象的能力。在我们的词汇中,几乎每个名词都是一类对象,都含有一组属性和行为特性。面向对象的方法正是利用了我们对事物的分类和抽象的这样一种自然倾向,将我们感兴趣的或要研究的事物及概念都统称为对象。在分析问题和解决问题时,以对象作为基本元素,去构造所要研究的系
原创力文档


文档评论(0)