- 1、本文档共55页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第九讲面向对象方法介绍
面向对象方法的产生与发展 面向对象技术概念 OO方法的开发过程 面向对象分析(OOA) 面向对象设计(OOD) 面向对象方法的产生与发展 结构化方法的缺陷 (1)问题空间与解空间不一致 (2)系统分析到系统设计的过渡困难 (3)过程模型和数据模型分别建立, 忽视了行为特征 面向对象思想的由来 传统的软件开发方法 — 没有直接而全面地反映问题的本质 直接面对问题域中客观存在的事物来进行软件开发 — 面向对象 面向对象的语言 出发点: 更直接地描述客观世界中存在的事物(对象)以及它们之间的关系。 特点: 是高级语言。 将客观事物看作具有属性和行为的对象。 通过抽象找出同一类对象的共同属性和行为,形成类。 通过类的继承与多态实现代码重用 面向对象的语言 优点: 使程序能够比较直接地反映问题域的本来面目,软件开发人员能够利用人类认识事物所采用的一般思维方法来进行软件开发。 面向对象方法的发展情况 面向对象基本概念 对象具有的特征 万物皆为对象 每个对象都有自己的惟一标识 对象具有属性和行为 对象具有状态 对象之间依靠消息实现通信 举例:检查单词拼写程序 检查单词拼写程序将对用户提供的单词进行拼写检查,如果在字典中找到,输出“拼写正确”的字样,否则输出“拼写不正确”的字样。 面向对象的程序设计方法 面向对象基本概念 基本概念 对象(object) 类(class) 消息(message) 接口(interface) 继承性(inheritance) 封装性(encapsulation) 多态性(polymorphism) 基本术语 抽象 —— 指从事物中,舍弃个别的、非本质的属性,抽取出共同的、本质的属性的过程,它是形成概念的必要手段。 抽象包括过程抽象和数据抽象。 封装—— 指将现实世界中某个客体的属性与行为聚集在一个逻辑单元内部的机制。利用这种机制可以将属性信息隐藏起来,外界只能够通过提供的特定行为接口改变或获取其属性状态。 对象—— 对象是用来描述现实世界中客体的部件,是面向对象软件系统在运行时刻的基本单位。为了区分属于同一个类的不同对象,每个对象都有一个惟一的标识。 类—— 类是一组具有相同属性特征的对象的抽象描述,是面向对象程序设计的又一个核心概念。 类是对象抽象的结果。有了类,对象就是类的具体化,是类的实例。类可以有子类,同样也可以有父类,从而构成类的层次结构。 类之间主要存在三种关系。它们是:关联、聚合和泛化。 消息—— 消息是一个对象要求另一个对象实施某项操作的请求。在一条消息中,需要包含消息的接收者和要求接收者执行哪项操作的请求,而并没有说明应该怎样做,具体的操作过程由接收者自行决定。 消息传递是对象之间相互联系的惟一途径。发送者发送消息,接收者通过调用相应的方法响应消息,这个过程被不断地重复,使得应用程序在人的有效控制下运转起来,最终得到相应的结果。可以说,消息是驱动面向对象程序运转的源泉。 继承—— 继承是类之间的一种常见关系。这种关系为共享数据和操作提供了一种良好的机制。通过继承,一个类的定义可以基于另外一个已经存在的类。继承是面向对象程序设计方法的一个重要标志,利用继承机制可以大大提高程序的可重用性和可扩充性。 多态性—— 不同的类对象收到同一个消息可以产生完全不同的响应效果,这种现象叫做多态。利用多态机制,用户可以发送一个通用的消息,而实现的细节由接收对象自行决定,这样,同一个消息可能会导致调用不同的方法。 面向对象的4个特性 抽象性 封装性 继承性 多态性 面向对象程序设计语言 所谓面向对象程序设计语言OOPL (Object-Oriented Programming Language)是指提供描述面向对象方法所涉及到的类、对象、继承和多态等基本概念的程序设计语言。它应该具有下列特征:识别性、分类性、继承性和多态性。 几种有代表性的OOPL Simula67,支持单继承、一定含义上的多态和部分动态联编。 Smalltalk,支持单继承、多态和动态联编。 Eiffel,支持多继承、多态和动态联编。 C++,支持多继承、多态和部分动态联编。 Java,提供了类机制,以及有效的接口模型。支持单继承、多态和动态联编。 Java语言的基本特点 简捷性 面向对象 分布式 健壮性 结构中立 安全性 可移植性 解释执行 高性能 面向对象的软件工程 面向对象的分析,简称:OOA 面向对象的设计,简称:OOD 面向对象程序设计,简称:OOP 面向对象的测试,简称:OOT 面向对象数据库系统,简称:OODBMS 面向对象计算机软件辅助工程, 简称:OOCASE 面向对象软件工程 面向对象 “面向对象”是一种认识
文档评论(0)