- 1、本文档共34页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第章 面向对象技术概述
面向对象技术及UML教程 第1章 面向对象技术概述 第1章 面向对象技术概述 面向对象(Object-Oriented)不仅是一些具体的软件开发技术与策略,而是一整套关于如何看待软件系统与现实世界的关系,用什么观点来研究问题并进行求解,以及如何进行系统构造的软件方法学。 第1章 面向对象技术概述 1960-70年代 COBOL(商用语言,银行)、FORTRAN(工程计算)、C(系统开发) 结构化分析和设计技术 1980年-90年代初期 Smalltalk、Ada、C++、Visual Basic 早期面向对象生成(代码)方法 90年代中晚期 Java UML Unified Process 1.1 面向对象方法学 什么是面向对象呢?这里从二个层次来介绍这个概念:第一个层次就是面向对象思想;第二个层次是面向对象程序设计语言。 1.1 面向对象方法学 对象(《韦氏大词典》) (1)某种可为人感知的事物——物理对象 (2)思维,感觉或动作所能作用的物质或精神体。——概念性对象 提问:以“仓库管理系统”为例,哪些是物理对象?哪些是概念性对象? 1.1 面向对象方法学 到仓库来领取或外借物料的员工 负责仓库的仓库管理人员 管理仓库信息的电脑 领取或外借仓库中的物料 存放物料的货架 仓库本身这一建筑物 领取或外借仓库物料的员工所在部门 员工的工号 仓库中存放的物料编号 1.1 面向对象方法学 面向对象与面向过程的区别 使用主函数来概括整个程序需要做的事,主函数由一系列子函数所组成。由预定的顺序进行执行,以功能为中心 自上而下 从问题的一部分着手,一点一点地构建出整个程序。由事件进行驱动(可以利用不断成熟的各种框架),以数据为中心 自下而上 1.1 面向对象方法学 仓库管理系统 面向过程: 主函数——细化实现——确定调用流程 面向对象:选定一个对象(领取仓库物品的员工)——了解对象属性——确定对象做的操作——形成一个整体(员工类)——共享数据和操作——派生其它类 1.1 面向对象方法学 把这种思想应用到软件开发上,开发人员可以把需要解决的问题看成是多个独立的,同时又相互联系的对象组成的一个系统,这样有助于开发人员更深入地理解问题本身。 1.1 面向对象方法学 程序设计的目的是设计出可以使用的软件系统。为了设计出高质量的软件系统就需要研究程序设计中涉及的基本概念、描述工具和所采用的方法。至今为止,常见的有结构化程序设计方法和面向对象程序设计方法。 1.1 面向对象方法学 1.1 面向对象方法学 稳定性较高,需求的较小改变不会影响软件的结构 开发的系统更易于理解, 贴近现实世界(功能为基础PK对象为基础) 可靠性高 复用 OO方法按照问题域分解,能够更直接地描述现实世界 各个开发阶段之间过渡平滑 OOA与OOD阶段无鸿沟 1.1 面向对象方法学 随着软件规模的进一步增加,结构化的程序设计方法的弱点也就暴露出来了,结构化程序设计方法分析问题主要是从计算机实现的角度来考虑问题,面对复杂问题时,不利于理清问题本身。因此对问题的抽象程度比较低,程序的重用性和扩展性比较低。在这种情况下面向对象程序设计方法应运而生。 1.1 面向对象方法学 面向对象程序设计的基本特征包括了抽象、封装性、继承性和多态性,对象之间是通过消息相互作用的。 1.1 面向对象方法学 1.1 面向对象方法学 1.1 面向对象方法学 实际上,封装并不是新的概念,在日常生活中,处处可以看到封装机制的应用。例如,一台日常的电视机 。 1.1 面向对象方法学 1.1 面向对象方法学 1.1 面向对象方法学 消息传递是对象之间相互联系的惟一途径。发送者发送消息,接收者接收该消息,并通过调用相应的方法响应该消息。 1.1 面向对象方法学 1.1 面向对象方法学 根据继承关系的特性,继承分为两种主要形式: 直接继承和间接继承 单继承和多继承 1.1 面向对象方法学 1.1 面向对象方法学 在面向对象程序设计中,多态性依托于继承性。利用类的继承机制可以形成一个类的层次结构,把具有通用功能的消息放在较高层次,而具体的实现放在较低层次,在这些较低层次上生成的对象能够对通用消息作出不同的响应。 1.1 面向对象方法学 第二,若得到多态性的操作,相应的方法必须同时包含在父类和子类中,且对应的方法的定义完全一样,子类中该方法的访问属性不能严于父类中该方法的访问属性。 1.1 面向对象方法学 覆盖(override)在子类中增加或重新定义所继承的属性或方法。 public class
文档评论(0)