- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
写在授课之前 授课学时 授课方法 课程特点 课程简介 章节与内容 达到目的: 深入理解面向对象的概念; 掌握面向对象的建模过程 (能对具体问题建模); 掌握建模语言UML,ROSE工具. 参考教材 The Applecation Developer’s guide to object orientation and the UML 《面向对象软件开发教程》 [加]Scott w.ambler j机械工业出版社 Object-orented Design patterns 《面向对象的设计与模式》[美] Cay Horstmann 电子工业出版社 Appling UML and patterns An Introduction to object-oriented Analysis and Design 《UML和模式应用》 [美]Craig Larman 机械工业出版社 一、传统软件开发方法的问题 二、面向对象方法的由来 三、面向对象的范型 1990年,B.Henderson seller和J.M.Eduarols在其“面向对象系统生存期”一文提出的OO开发的七点框架,并以Bailin提出的实体数据流图或信息流图作底层工具,而构思的面向对象生存期的喷泉模型。 四、面向对象的概念 对象是一个具有封装了的数据结 构和操作的实体,这个实体有一个标识它的名字,对外通过相应的接口,提供相应的服务。 类是具有相同属性和服务的一组对象的集合,它为属于该类的全部对象提供了统一的抽象描述。 5 抽象(Abstraction) 是一个抽象类 abstract class 抽象是不能被直接实例化的类,即他没有直接的实例。 7 多态性(Polymorphism) 8 永久对象(Persistent object) 面向对象概念和术语简表 六、面向对象的符号表示-UML表示法1 (UML,Unified Modeling Language) ROSE工具中的类符号 ROSE工具中的类符号 6 封装(Encapsulation) 将数据(属性)和方法(服务)结合成一个独立的 系统单位。隐藏了对象的内部细节:信息隐蔽 (information hiding) 具有封装性的条件 有一个清晰的边界 有确定的接口 (即协议) 受保护的内部实现 售报亭 报刊名称 报刊定价 销售总额(钱租) 报刊零售 款货清点 售报亭对象 封装的意义 表达事物的静态特征和动态特征是事物不可分割的两个侧面 封装性使我们只要注意该对象对外呈现什么行为(做什么), 而不关心她内部的实现细节(怎么做)。可以避免外部入侵, 提高软件的可维护性、可修改性 描述如何在系统中划分功能的问题 在面向对象中多态性使得同一个属性或服务在一般类及其各个特殊类中具有不同语义。 说明 多态性表示了对象属于多个类的能力 如果操作是多态的,其后代类可能为它提供一种方法 抽象操作必须是多态的 多态性增加了OO的灵活性,减少冗余信息,提高可重用 性,可扩展性 在OO语言中,多态性的实现与下列概念有关 ——重载 (overload) 在子类中,对继承类的属性或服务进行重新定义 ——动态绑定 (dynamic binding) 程序在运行时,根据对象接受的消息,动态地确定要连到 哪一段服务代码上。程序设计中,运行期决定对象的类和 分配存储能力为动态绑定。 ——类属(generic) 服务参量的类型可以是参数化的。 语言中(Ada):类属是定义参数化模型的能力(参数是类型) 多态性显著提高了软件的可重用性和可扩充性。 用户可以发送一个通用的消息,而实现时的细节则由接收对象自行决定,这样同一消息可以调用不同的方法,增加了系统的灵活性 。 经理 Pay() 推销员 Pay() 技工 Pay() 销售部经理 Pay() 雇员 Pay() 重载 int a,b ; float c,d ; complex e, f ; …… a +b ; c+d ; e+f ; Int Maximum(int a1,int a1,int a3 ); double Maximum(double d1,double d2,double d3); char Maximum(char c1,char c2,char c3); 用类属性模拟类属类列表继承 列表 类型 类 其余部分 长度 整数列表 人员列表 《bind》 《bind》 anyobject 7 ISA 发消息Add(3) 整数 加 乘 b返回值10 动态绑定和多态性方法 就是对象的生存期可以超越程序的执行时间而长期存在的对象 内聚功能
文档评论(0)