N第5章 类图和对象图 (class diagram object diagr am
第5章 类图和对象图 (class diagram & object diagram) 制作 龙鹏飞
1.类的定义 Rumbaugh对类的定义是: 类是具有相似结构、行为和关系的一组对象的描述。 Circle chapter 5:: Shape +m r:double origin: Point +AreaO: double #size: double H+fillColor: Color count: int shaped move Cylinder #resize double H+display +Areao: doublel +GetObiectCountO
1.类的定义 Rumbaugh对类的定义是: 类是具有相似结构、行为和关系的一组对象的描述。 制作 龙鹏飞 +Area() : double +m_r : double Circle +Area() : double +m_h : double Cylinder +Shape() -move() #resize() +display() +GetObjectCount() -origin : Point #size : double +fillColor : Color -count : int chapter5::Shape
1)类的属性 属性描述格式: 可视性]属性名[类型Ⅱ多重性[次序]I=初始 值I特性] sIze tsize +size: Area size: Area=(100, 100) +visible: boolean=false colors: Color[3] points: Point(2* ordered name: String[0. 1KReadonlyl
1)类的属性 属性描述格式: [可视性]属性名[:类型][[多重性[次序]]][=初始 值][{特性}] size +size +size:Area size:Area=(100,100) +visible:boolean=false colors:Color[3] points:Point[2..* ordered] name:String[0..1]{ReadOnly} 制作 龙鹏飞
2)类的操作 操作描述格式: 可视性]操作名[参数列表]返回类型Ⅱ特性] getsize +get sized +get(: Areaqueryl +setSize(cx: double, cy: double
2)类的操作 操作描述格式: [可视性]操作名[(参数列表)][:返回类型][{特性}] getSize +getSize() +getSize():Area{query} +setSize(cx:double,cy:double) 制作 龙鹏飞
2.类之间的关系 类之间的关系主要分4类: 关联、聚合/组合、泛化和依赖 特殊的关联
2.类之间的关系 类之间的关系主要分4类: 关联、聚合/组合、泛化和依赖。 特殊的关联 制作 龙鹏飞
1)关联 关联是模型元素间的一种语义联系,它是对 具有共同的结构特性、行为特性关系和语义的链 (ink)的描述。 链是一个实例,与对象是类的实例一样,链 是关联的实例,关联表示的是类之间的关系,而 链表示的是对象之间的关系
1)关联 关联是模型元素间的一种语义联系,它是对 具有共同的结构特性、行为特性关系和语义的链 (link)的描述。 链是一个实例,与对象是类的实例一样,链 是关联的实例,关联表示的是类之间的关系,而 链表示的是对象之间的关系。 制作 龙鹏飞
图 类、对象、关联、链之间关系 匚关联 相关 类 水 1.. 实 实 「链 相关 「对象1 2..*
图 类、对象、关联、链之间关系: 制作 龙鹏飞 关联 类 链 对象 1 * 实例 1 * 实例 * 1..* 相关 * 2..* 相关
图与代码 关联图示: public class a MI END CLASS DEFINITION A -theA -theB public class B M/ END CLASS DEFINITION B public class C private D theD; M/ END CLASS DEFINITION C C thec theD public class D private C theC M/ END CLASS DEF INITION D public class E E -theF private F theF MI/ END CLASS DEFINITION E public class F M/ END CLASS DEFINTION F
图与代码 关联图示: public class A { }// END CLASS DEFINITION A public class B { }// END CLASS DEFINITION B public class C { private D theD; }// END CLASS DEFINITION C public class D { private C theC; }// END CLASS DEFINITION D public class E { private F theF; }// END CLASS DEFINITION E public class F { }// END CLASS DEFINITION F 制作 龙鹏飞 A B C D -theA 1 -theB 1 -theC 1 -theD 1 E F * -theF 1
(1)关联名 可给关联加上关联名,以说明关联的作用。 关联名通常是动词或动词短语。 作用:明确关联含义。“公司”类与“人”类之间 有多种含义,“人”类可是“公司”的客户、雇员 或所有者等,为了明确可加关联名雇佣”、“属 于”、“拥有”、“工作”等
(1)关联名 可给关联加上关联名,以说明关联的作用。 关联名通常是动词或动词短语。 作用:明确关联含义。“公司”类与“人”类之间 有多种含义,“人”类可是“公司”的客户、雇员 或所有者等,为了明确可加关联名:“雇佣”、“属 于”、“拥有”、“工作”等。 制作 龙鹏飞
图 关联名 公司2 雇佣 人2 公司2 聘请 人2 人3 工作 「公司31
图 关联名 制作 龙鹏飞 公 司 2 雇 佣 人 2 公 司 2 聘 请 人 2 人 3 工 作 公 司 3