软件工程技术与应用案例面向对象的设计思想.pptVIP

软件工程技术与应用案例面向对象的设计思想.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

基本概念——抽象类和具体类假设蛋代表抽象,而鸡代表具体。蛋决定鸡的性状,鸡是蛋的“实现”,蛋的类型决定了鸡的类型。从这个角度来讲,先有蛋,后有鸡。基本概念——继承类继承和接口继承:继承:一个类是另一个类的子类类继承(实现继承):——根据某个原有对象的实现来定义另一个新的对象的实现。——从已有类继承必要的需求。——共享编码和表示方法。接口继承:——是一个类实现了另一个类的一个接口——可用一个对象替换另一个对象。——共享类型。——只继承抽象类。基本概念——动态插入[问题]:如何实现具体类的动态插入?如:加入一个新的类,与现有具体类的行为有不同的实现,希望系统能够使用这个新类。1.使用超类继承:在类结构中增加一个超类,声明出子类要提供的行为为这个抽象超类提供多个具体子类,以不同的方法实现了超类所声明的行为。客户端动态地决定使用哪一个具体子类。基本概念——动态插入单继承的语言,一个类只能有一个超类。当具体类已经有一个超类,则不可能加上新的超类。加新的超类到已有的超类上面,形成超超类。或者继续向上移动,直到类等级结构的最顶端。具体类超类新超超类新具体类。。。。。。与现有具体类行为有不同的实现基本概念——动态插入2.使用接口概念在一个类等级结构中的任何类都是实现一个接口这个接口会影响到此类的所有子类,但是不会影响到此类的任何超类。此类将实现这个接口所规定的方法,而其子类则可以从此类自动继承到这些方法,子类可以选择置换其中的某一些方法或所有方法。这时候,子类就具有了可插入性。接口类具体类新具体类基本概念——动态插入关联的可插入性关联:一个对象知道其他对象针对接口的关联:不是针对具体类任何实现这个接口的类都可以满足关联要求。可以动态地将关联从一个具体类转换到另一个具体类基本概念——动态插入调用的可插入性-对象调用其他对象的方法。针对接口的调用:不是针对具体类,而是一个接口。任何实现这个接口的类都可以被当前对象调用。可以动态地决定当前对象调用哪一个具体类的实例接口提供了方法调用上的可插入性。基本概念——接口软件系统的规模越大,生命周期越长,接口的重要性就越大。接口使得软件系统在灵活性、可扩展性和可插入性上得到保证。基本概念——多态性(多形性)多态:相同接口具有不同的实现,对象的行为具有多种形态的特性。简化了客户定义。使客户对象除了支持特定接口外,不做其他设定。相同接口的对象具有了可替换性。复用对象的实现和应用基本概念——面向对象的两种基本复用机制

继承与对象合成继承:根据一个类定义另一个类。在编译时静态定义,直接被程序设计语言支持,使用直接。便于修改正在复用的实现。继承是一种白盒复用“白盒”指可见性,通过继承,父类的内部可被子类所见。基本概念—面向对象的两种基本复用机制

继承与对象合成继承产生的问题:1)实际运行时不能改变在编译时所定义继承的执行过程2)子类依赖父类:继承把父类执行过程的细节暴露给子类,破坏了封装。子类的物理表示、执行过程与父类有密切关系父类执行过程的任何改变都会强迫子类发生改变。这种依赖性限制了适应性,最终也限制了可复用性。基本概念—面向对象的两种基本复用机制

继承与对象合成对象合成:在一个对象中包含对其他对象的引用引用是一种动态连接:在运行时将请求连接到一个对象和该对象的一个操作上。——意味着请求不需指定特定的实现。任何有适当接口的对象都可以接收请求。相同接口的对象可以互相替换。对象合成:通过组合对象得到新的更复杂的功能。但要求被组合对象有定义良好的接口。特点:对象合成在运行时动态地通过对象请求访问其他对象。组合要求对象考虑相互的接口,精心设计接口。任何一个对象都可在运行时被另一个有相同的类型对象替代。对象组合是一种黑盒复用—对象的内部细节不可见,对象像一个黑盒。 基本概念——面向对象的两种基本复用机制

继承与对象合成基本概念——面向对象的两种基本复用机制

继承与对象合成对象合成的优点:对象只能由其接口访问,不破坏封装。对象的实现根据接口编写,依赖性减少。有助于类的封装,使每个类集中于一个任务。容易组合运行时的行为,改变行为组合的方式。对象合成的缺点:系统的行为不是在本类中定义,而依赖于对象的相互关系。更难理解、运行效率降低。采用对象合成优于采用类继承(合成/聚合复用原则)。委托(delegation):对象合成的特例。一个控制请求的执行:继承方法:子类将请求交给父类执行。委托方法:接收操作的对象把操作委托给它的代理对象。接收操作的对象把自己本身也传给委托者,以使被委托操作指向接收对

文档评论(0)

177****8321 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档