知识回顾--UML各个关系的对应代码
UML的几种关系介绍请移步《UML中的关系》! 要真正画好UML图,透彻的理解各个关系的具体含义,需要明白各个关系对应的代码实现。 一、依赖
依赖关系可以描述为:Uses a
Public class FilmClip{ public FilmClip() {} } Public class Channel{ public Channel(){} }依赖关系的表现形式 1 : Channel 类是全局的,则 FilmClip 类可以调用它 例如:VB中的公共模块,任何使用这个模块的类都叫做依赖于这个模块 表现形式2:Channel类是FilmClip类的某个方法中的变量,则FilmClip类可以调用它。 表现形式3:Channel类是作为FilmClip类中某个方法的参数或者返回值 如: Public FilmClip{ Public Channel Grownup(Channel channel) { return null; } }二、泛化 泛化关系可以描述为:Is a ,子类将继承父类的所有属性和方法
对应代码: class Shape{} public class Circle : Shape{} public class Polygon : Shape{} 三、关联 (1)双向关联
(2)单向关联
C3->C4:表示相识关系,指C3知道C4,C3可以调用C4的公共属性和方法。没有生命期的依赖。一般是表示为一种引用。 (3)自身关联
代码对应: 1、单向关联代码:
Public class Water { public Climate m_Climate; public Water(){} }
Public class Climate { public Climate() {} } 可见生成的代码中,Water类的属性中增加了Climate类。 2、双相关联代码示例:
Public class Water { public Climate m_Climate; public Water(){} } Public class Climate { public Water m_Water; public Climate() {} } 可见生成的代码中,两个类的属性都添加了! 聚合:表示雁群类是由大雁类聚合而成。雁群类聚合大雁类,但是大雁可以离开雁群而独立存在
Public class GooseGroup { public Goose goose; Public GooseGroup(Goose goose) { this.goose = goose; } }4、组合
Public class Goose { public Wings wings; public Goose() { wings = new Wings(); } } 聚合组合的区别:
四、实现
实现指的是一个class类实现interface接口(可以是多个)的功能。 实现是类与接口之间最常见的关系之一。
interface interfaceA{} class classA :interfaceA{} (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |