类 概念:类似对象的一种软件抽象,创建对象的模板。
UML图:属性和操作之前可附加一个可见性修饰符。加号(+)表示具有公共可见性。减号(-)表示私有可见性。#号表示受保护的可见性。省略这些修饰符表示具有package(包)级别的可见性。如果属性或操作具有下划线,表明它是静态的。在操作中,可同时列出它接受的参数,以及返回类型。
接口概念:定义了一套内聚行为的一个或多个操作特性标记的集合。接口是确保送耦合的一种强大的方法。它们允许类参与一套共同的功能集,除了支持接口意外,不需要别的类知道任何有关他的事情。接口的设计要遵循“接口分离原则”,参见什么是面相对象设计的SOLID原则(s)
UML图:接口的UML图展现的样式会有几种变化,但内容都是一样的。
注:在StarUML中可以通过选择Intece元素的Format->【StereotypeDisplay】、【Suppress Attributes】、【Suppress Operations】来调整。
联系(Association)概念:实体之间的一个结构化关系表明对象是相互连接的。箭头是可选的,它用于指定导航能力。如果没有箭头,暗示是一种双向的导航能力。
UML图:
方向性。开口箭头指出关联的方向。只有一个开口箭头的关联是单向的:它仅可以在一个方向(箭头的方向)上移动。没有箭头时,表示关联是可以在两个方向上移动。标签。标签是可选的,一般有一到两个词组成,用来描述关联。多重性(Multiplicity)。关联的多重性的两端标出,每个方向有一个多重性指示器。 聚合(Aggregation)概念:有时对象会有其他对象组成。例如,飞机由机身、机翼、引擎、起落架等组成。这些全部都是聚合这个概念的例子,它表示“is partof”关系。
UML图:
class Node { private: vector<Node*> itsNodes; };上述代码只有当子节点不会成为父节点的父节点时(即,必须是树结构,不能是图结构),才能称之 为聚合。 组合(Composition)概念:组合是更强形式的聚合,其中“整体”负责部分,每个“部分”对象也仅与一个整体对象联系。例如,在任何给定时间,引擎是且仅是飞机的一部分。而且,除了飞机以外,其他对象都不能直接与引擎对象发 生交互。 UML图: class Car{ public: virtual ~Car() {delete itsCarb;} private: Carburetor*itsCarb }; 依赖(Dependency)概念:对象之间存在临时关系,只有一个原因,它们可能会相互协作。一个对象与另一个对象进行协作,它需要了解这个对象。这意味着两个对象之间必须存在对象关系或part-of关系。当两个对象之间不存在持久关联的时候,我们需要在两个类之间建立依赖。
UML图:
泛化(Generalization) 概念:表示一个更泛化的元素和一个更具体的元素之间的关系。
UML图:
AbstractKmsTheme被标记为抽象的(名字是斜体)。
实现(Realization)概念:指定两个实体之间的一个合同。换言之,一个实体定义一个合同,而另一个实体保证履行该合同。
UML图
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-25679-6.html
人家是主战舰艇里的其中一舰