面向对象基础与的组成.ppt

上传人:牧羊曲112 文档编号:6435949 上传时间:2023-10-31 格式:PPT 页数:47 大小:1.39MB
返回 下载 相关 举报
面向对象基础与的组成.ppt_第1页
第1页 / 共47页
面向对象基础与的组成.ppt_第2页
第2页 / 共47页
面向对象基础与的组成.ppt_第3页
第3页 / 共47页
面向对象基础与的组成.ppt_第4页
第4页 / 共47页
面向对象基础与的组成.ppt_第5页
第5页 / 共47页
点击查看更多>>
资源描述

《面向对象基础与的组成.ppt》由会员分享,可在线阅读,更多相关《面向对象基础与的组成.ppt(47页珍藏版)》请在三一办公上搜索。

1、专题二:面向对象基础与UML的组成,面向对象概念UML的组成世界,你好一个UML的例子,本次课主要内容,面向对象概念,什么是对象?,对象是系统中用来描述客观事物的一个实体,它是构成系统的一个基本单位。一个对象由一组属性和对这组属性进行操作的一组方法组成。,对象的特点,对象具有标识你能够对它命名,以区别于其他对象对象具有状态通常有一些数据与它相联系对象具有行为使你能够对对象做某些事,它也能为其他对象做某些事,对象和类,对象可以是一个人、地址、物品、事件、概念、屏幕显示或者报表。类泛化或表示一组相似的对象,是创建对象的有效模板。一个类表示一组相似的对象。对象是类的实例。属性是类知道的事情。方法是类

2、完成的事情。,面向对象的基本原理,什么是抽象?,类或操作等项目的基本属性 一个项目的抽象依赖于你定义抽象的上下文 抽象是在项目周围绘制一个清晰框架的手段,抽象的例子,什么是封装?,把相关概念组合进一个项目中,如类或组件。封装描述了如何在系统中划分功能的问题。封装是把框体涂黑的做法。,Encapsulation Illustrated,Professor Clark needs to be able to teach four classes in the next semester.,什么是模块化?,把复杂的事务分解成可以处理的部分帮助人们更好地理解复杂系统,模块化的例子,For exampl

3、e,break complex systems into smaller modules.,什么是继承?,表示两个类之间是“is a”、“is like”或“is kind of”的关系。特殊类的对象拥有其一般类的全部属 性与方法,称作特殊类对一般类的继承。,继承的分类?,继承可分为单继承和多继承单继承:子类只从一个父类继承多继承:子类从多于一个的父类继承,什么是多态?,从字面上理解,多态就是有多种形态的意思。在面向对象技术中,多态指的是使一个实体在不同的上下文条件下具有不同意义或用法的能力。多态是保证系统有较好的适应性的一个重要手段,也是用OO技术所表现出来的一个重要特征。,多态的例子,什么

4、是类?,类是具有相同属性和方法的一组对象的集合,它为属于该类的全部对象提供了统一的抽象描述,其内部包括属性和方法两个主要部分。在图形上,把一个类画成一个矩形。,类的属性和操作,属性(attribute)是已被命名的类的特性,它描述了该特性的实例可以取值的范围。操作(operation)是一个服务的实现,该服务可以由类的任何对象请求以影响其行为,类的特点,同类对象具有相同的属性和方法,是指它们的定义形式相同,而不是说每个对象的属性值都相同。类是静态的;类的存在、语义和关系在程序执行前就已经定义好了。对象是动态的;对象在程序执行时可以被创建和删除。,对象和类,对象可以是一个人、地址、物品、事件、概

5、念、屏幕显示或者报表。类泛化或表示一组相似的对象,是创建对象的有效模板。一个类表示一组相似的对象。对象是类的实例。属性是类知道的事情。方法是类完成的事情。,建模元素:包,包是用来组织U M L模型的基本分组事物。它也有变体,如框架、模型和子系统等(它们是包的不同种类)。用包把建模元素安排成可作为一个组来处理的较大的组块:一些元素在包外是可见的.另一些元素要隐藏到包内.,建模元素:消息,消息就是向对象发出的服务请求,它包含下述信息:提供服务的对象标识、服务(方法)标识、输入信息和回答信息。在图性上,把一个消息画成一条有向直线,通常在表示消息的线段上总有操作名。,UML的组成,UML的组成,构造块

6、building blocks,事物things,关系relationships,图diagrams,事物是对模型中最有代表性的成分的抽象;关系把事物结合在一起;图聚集了相关的事物。,事物,事物things,结构事物,行为事物,分组事物,注释事物,结构事物:UML模型中的名词,是模型中的静态部分,如类、接口、协作、用例、活动类、组件、节点;行为事物:UML模型中的动词,是模型的动态部分,如交互、状态机、活动;分组事物:包,用于把模型分解成“盒子”;注释事物:用来描述、说明和标注模型的任何元素。,关系,关系relationships,关联association,依赖dependency,泛化ge

7、neralization,实现realization,描述对象之间的一组链接,事物的改变引起依赖事物的语义改变,一个元素是另一个元素的特化,而且它可以取代更一般的元素,类元之间的关系,一个类元说明一份契约,另一个类元保证实现该契约,图,图diagrams,顺序图Sequence diagrams,协作图collaboration diagrams,用例图use case diagrams,状态图statechart diagrams,活动图activity diagrams,类图class diagrams,对象图object diagrams,构件图component diagrams,部署

8、图deployment diagrams,静态模型(系统结构),动态模型(系统行为),规则,UML有自己的语法和语义规则,用于:命名 为事物、关系和图起的名字范围 使名字具有特定含义的语境可见性 这些名字如何让其他成分看见和使用完整性 事物如何正确、一致地相互联系执行 运行或模拟动态模型的含义是什么,公共机制,在UML中有4种贯穿整个语言且一致应用的公共机制,因此使得UML变得较为简单,这4种机制分别是:详述修饰通用划分扩展机制,体系结构,可视化、详述、构造和文档化一个软件密集型系统,要求从几个角度去观察系统。,体系结构建模,设计视图,实现视图,交互视图,部署视图,用例视图,词汇功能,行为,性

9、能可伸缩性吞吐量,系统装配配置管理,系统拓扑结构分布交付安装,“41”视图,用例视图(use case view),用例视图由描述可被最终用户、分析人员和测试人员看到的系统行为的用例组成。用例视图实际上没有描述软件系统的组织,而是描述了形成系统体系结构的动力。在UML中,该视图的静态方面由用例图表现;动态方面由交互图、状态图和活动图表现.,设计视图(design view),设计视图包含了类、接口和协作,它们形成了问题及其解决方案的词汇。这种视图主要支持系统的功能需求,即系统应该给最终用户的服务。在UML中,该视图的静态方面由类图、对象图表现;动态方面由交互图、状态图和活动图表现。,交互视图(

10、interaction view),交互视图展示了系统的不同部分之间的控制流,包括可能的并发和同步机制。该视图主要针对性能、可伸缩性、系统的吞吐量。在UML中,对该视图的静态方面和动态方面的表现与设计视图相同,但着重于控制系统的主动类和它们之间流动的消息。,实现视图(implementation view),实现视图包含了用于装配与发布物理系统的制品。这种视图主要针对系统发布的配置管理,它由一些独立的文件组成;这些文件可以用各种方法装配,以产生运行系统。它也关于从逻辑的类和构件到物理制品的映射。在UML中,该视图的静态方面由构件图表现,动态方面由交互图、状态图和活动图表现。,部署视图(depl

11、oyment view),部署视图包含了形成系统硬件拓扑结构的结点(系统在其上运行)。这种视图主要描述组成物理系统的部件的分布、交付、安装。在UML中,该视图的静态方面由部署图表现,动态方面由交互图、状态图和活动图表现。,世界,你好,一个UML的例子,世界,你好(一个UML的例子),关键抽象:在Web浏览器中,打印“世界,你好!”的 Java applet程序:import java.awt.Graphics;public class HelloWorld extends java.applet.Applet public void paint(Graphics g)g.drawString(

12、“世界,你好!,10,10);在UML中,对这种应用的建模如下图所示,类HelloWorld 用一 个矩形表示。类HelloWorld 中给出了paint操作,在一个附属 的注解中说明了该操作的实现。,与Hello World直接相关的类,这个类图反映出了“世界,你好!”这个应用的基本部分,但还遗漏一些事物。按上述代码的描述,这个应用还涉及其他两个类,即Applet和Graphics,而且二者的使用方式不同。类Applet是类Hello World的父类,类Graphics则是在类Hello World的一个操作paint 的特征标记和实现中被使用。可以在类图中表示这些类及其他们与类Hello

13、 World的不同关系,,Hello World的继承层次,如果针对Applet和Graphics研究Java库,将会发现这两个类是一个更大的类层次的一部分。跟踪类Applet扩展和实现的那些类,能够产成另一个类图,如下图所示。,Hello World的包,为了管理大规模的类层次图,可以用包来组织类,如下图所示:Hello World依赖包Java.applet,java.applet依赖包java.awt,Painting 机制,可以使用顺序图对事件的顺序建模,展示了对象的协作。,Hello World的构件,“世界,你好!”是一个程序,不能单独运行,通常是嵌入在Web页中。下面是HelloWorld的构件图:,作业与预习,作业预习类图,思考,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号