1、在UML中,包含(aggregation)和组合(composition)有什么区别?
在UML中, 包含(aggregation) 是一种特殊的关联关系,常被称为“是一部分”的关系,用 空心菱形 表示。
例如,汽车和车内乘客之间的关联就是包含关系。
而 组合(composition) 是一种更特殊、更强的包含形式,用 实心菱形 表示,意味着“整体”实际上依赖于“部分”。
例如,汽车和它的发动机之间的关联就是组合关系,因为没有发动机汽车就无法存在。
2、考虑一个枚举类型Light。该类型可以有三个值之一:RED、AMBER和GREEN。它将用于向学生显示一条消息,指示讲师是否可以见。(a) 在UML中指定此类型。(b) 在Java中实现此类型。(c) 声明一个Light变量doorLight;(d) 编写一个switch语句,检查doorLight,当doorLight为RED时显示“我不在”,当doorLight为AMBER时显示“我很忙”,当doorLight为GREEN时显示“我有空”。
(a) 在UML中指定此类型:
在UML中,枚举类型通常用一个带有 <<enumeration>> 构造型的类来表示。创建一个名为 Light 的类,在类名上方标注 <<enumeration>> ,然后在类中列出三个枚举值: RED 、 AMBER 和 GREEN 。可以使用UML建模工具(如 Enterprise Architect、StarUML 等)来绘制这个枚举类型。
(b) 在 Java 中实现此类型:
public enum Light { RED, AMBER,

最低0.47元/天 解锁文章
979

被折叠的 条评论
为什么被折叠?



