《类图和对象图》PPT课件.ppt
《《类图和对象图》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《类图和对象图》PPT课件.ppt(78页珍藏版)》请在三一办公上搜索。
1、类图和对象图,UML中的类图(Class Diagram)与对象图(Object Diagram)具有强大的表达能力,能够有效地对现实世界的业务领域和计算机系统建立可视化的对象模型。类图与对象图用来表达对象模型的静态结构。,类图表达一组类和它们之间的联系。描述各个类本身的组成,即类的属性、操作和对对象的约束条件等。描述系统中类之间的各种静态的联系。类图是一种静态结构图,它描述的是系统的静态结构,而不是系统的行为。类之间的静态联系主要类型有:关联、聚合、复合、继承、依赖等,类的定义,什么是类(class)具有相似结构、行为和关系的一组对象的描述符类的组成 类名属性操作UML中,类表示为划分为三格
2、的矩形,类名:类名必须唯一,可以是简单名,也可以是路径名。如果用英文,则单词首字母大写,多单词合并写。,学生,学校:学生,学校,WashingMachine,包名在左,类名在右,中间用双冒号隔开。这种类型的类名叫:路径名(pathname)。,类的属性,属性的格式可见性 属性名:类型多重性次序=缺省值特性可见性:可访问性多重性:属性值个数格式次序:属性值顺序特性:对该属性性质的一个约束说明,如只读选取类的属性时只考虑系统用到的特征,不必将所有属性都表示出来,原则上,由类的属性应能区分每个特定的对象。,属性是类的一个特性。一个类可具有零个到多个属性;属性名必须唯一。,类的属性,可见性属性的可访问
3、性,四类:公共(public)私有(private)保护(protected)实现(implementation)子类无法继承和访问父类的私有属性和实现属性,类的属性,举例可见性 属性名:类型多重性次序=缺省值特性+size:Area=(100,100)#visibility:Boolean=false-origin:Pointcolors:color3Points:Point2.*orderedName:String0.1,类的操作,操作:用于修改、检索类的属性或执行某些动作,通常也称为功能。,格式:可见性操作名(参数列表):返回值类型特性参数列表:参数名1:类型=缺省值,参数名2:类型=缺
4、省值,,+display():Location+hide()#create()-attachXWindow(xwing:XwindowPtr),类之间的关系,常见的类之间的关系包括:关联、聚集、组合、泛化、依赖、实现.,关联,关联(association)表示类与类之间的关系链(link)表示的是对象与对象之间的关系,链是关联的实例。一个关联可以有两个或多个关联端(association end),每个关联端连接到一个类。关联可以是单向的uni-directional 或 双向的bi-directional两个类之间的关联将在所生成的代码中体现出来,表现为类中有一个方法可以访问到另一个类,关联
5、,关联,关联名用于明确表达关联的含义。客户?雇员?老板?可有可无 动词短语 斜体导航性(方向性)从一个类(对象)可以访问到另一个,反过来却不行,用带箭头的实线,表示单向关联,无箭头表示双向关联被关联的对象不知道谁与自己关联,但关联对象知道自己与谁有关联,关联名,关联,关联角色(role)关联两端的类可以以某种角色参与关联。如果在关联上没有标出角色名,则隐含地用类名作为角色名。生成代码后会有和角色名相应的属性出现。自返关联通常必须标明角色。,关联角色n 表示多重性,关联角色+表示可见性,关联,关联角色的多重性(multiplicity)多重性表示可以有多少个对象参与该关联非负整数的子集表示0 表
6、示没有实例的关联,一般不用0.10.n1 即1.13.61.nn,一个教师可开设1到3门课程,一门课程可以有1到多个教师,course的多重性,teacher的多重性,关联,关联类(association class)关联本身也可以有特性,通过建立关联类可以进一步描述关联的属性、操作和其他信息。通过虚线与关联连接。,public class Company private String companyName;public Person employee;public class Person private String personName;public Company employer;
7、public class Contract private Double salary;,改成#,代码如何修改?,关联,关联的约束/依赖约束是UML三种扩展机制之一:约束、版型、标记值给关联加上约束,可以加强关联的含义。,关联的约束/依赖,关联,限定关联在关联端紧靠源类图标处可以有限定符(qualifier),带有限定符的关联称为受限关联或限定关联。限定符的作用就是在给定关联一端的一个对象和限定符之后,可以唯一确定另一端的一个对象或对象集。受限关联用于一对多或多对多的关联。将目标类的多重性从“多”降为“一”。Rose2003不能直接表示限定符。,关联,限定关联例:一客户可以在bank中有多个账
8、户,但给定了一个账户account后,其只对应0.1个客户(bank,account)0.1个costomercostomer 多个(bank,account)表达customer和bank之间的关系?,关联,限定关联为何引入限定符?在设计软件时十分有用应用系统根据关键字对数据集作查询,常用到受限关联。引入限定符的一个目的就是把多重性从n降到1或0.1,则查询结果是单个对象,效率高。如果引入限定符后,另一端的多重性仍为n,则意义不大。,关联,关联的种类,(1)自返关联,(2)二元关联,(3)N元关联,关联,自返关联:又称递归关联,是一个类与自身的关联,即同一个类的两个对象间的关联。,关联,Ro
9、se 2003不能直接表示N元关联。一个人在一个项目中可以使用多种开发语言;一个项目中使用某种语言的可以有多个开发者;一个开发者用某种语言可以开发多个项目。,聚集与组合,聚集(aggregation)是一种特殊的关联,表示类之间的整体与部分关系,个体可以属于多个整体。,聚集与组合,组合(composition)是整体和部分的关系,个体唯一属于一个整体。组合关系中的“整体”控制着“部分”的生存期。组合是一种特殊的聚集关系,又称强聚集。,泛化关系,Generalization,一般元素和特殊元素之间的关系。即OO语言中,类之间的继承关系,泛化关系,泛化的目的自顶向下的属性继承。可以使得子类共享父类
10、的属性和操作,实现继承。自底向上的实例替换。可以使得子类的实例用于任何父类被声明使用的地方,实现多态。,继承,Rose中可以看到子类已继承了父类的属性private、implementation属性不被继承public、protected属性可被继承,泛化关系,抽象类(abstract,斜体表示):不能产生实例的类,因为类中的方法往往只是声明,而没有具体实现。,依赖关系,一个元素B的改变会影响另一个元素A,则称A依赖于B,二者之间存在依赖关系。,调用,一个类调用另一个类的方法参数,一个类的方法使用另一个类作为形式参数发送,消息的发送者与接收者之间的关系实例化,一个类的方法创建了另一个的实例,依
11、赖关系,class MyDependentClass.void myFunction1(MyReferencedClass r).MyReferencedClass myFunction2().void myFunction3()MyReferencedClass m,MyDependentClassatt:intmyFunction(),MyReferencedClass,依赖(引用一个类),参数,or 返回类型,or 局部变量,派生属性和派生关联,派生属性(关联)指可以由其他属性(关联)计算得到的属性,名字前加”/”.,抽象类和接口,抽象类,接口,抽象类和接口,interface MyAb
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 类图和对象图 对象 PPT 课件

链接地址:https://www.31ppt.com/p-5565929.html