合計UML

UMLのクラス図

UMLのクラス図は、静的システムの構造を説明するための構成図です。クラスとクラスの構造との間の図クラス関係はシステムのソフトウェア構成を説明するための目的を反映するように、静的モデリングアプローチです。図クラスのクラス、及びオブジェクト指向言語の概念は、対応するクラスです。

1、クラス構造

主に長方形の説明なるクラスを使用して、図UMLクラスにおいて、矩形は、垂直それによって名、プロパティ、およびクラスのメソッドを置く、3分割します。

上記に示すように、太字の通常のフォントの一般的なクラスが表すクラス:などの太字の斜体で抽象クラス名、ユーザ、インタフェースを追加する必要があり、<オーバー<インターフェース> >

プロパティおよび標識法は、可視性のシンボルを必要と+代表は、公共#の代表者は保護され-代表プライベート

さらに、あなたはコロンを使用することができます:文字列+のgetName():文字列など+名前として、メソッドの戻り値の型とプロパティの種類のことを示します。もちろん、説明の種類は必要ありません。

2.クラス関係

クラスと6つの主要なクラスが存在するとの関係次のように継承、実装、組成物、凝集、相関及び依存は6つの矢印の関係は、表現され

 

その後、我々は、クラス関係の具体的な内容を知っています。

関係の3、6種類

別のクラス属性への参照を保持している6種の関係、重合の組み合わせ、関係のこれらの3種類に関連付けられたコードの構造は、内容が関係を確認することで区別されています。

3.1継承

継承は、親と子のクラス間の関係を記述するために使用される、一般化(一般化)と呼ばれます。また、派生クラスと呼ばれる親基本クラス、サブクラス、として知られています。

継承は、サブクラスは親のすべての機能を継承し、親クラスは非プライベートプロパティ、メソッドは、サブクラスが持っている必要があります。親クラス情報のサブクラスに加えて一貫しているが、また、付加的な情報が含まれています。

例えば:バス、タクシーや車が車が、彼らには名前があり、道路上に置くことができます。

 

3.2 实现

实现关系(Implementation),主要用来规定接口和实现类的关系。

接口(包括抽象类)是方法的集合,在实现关系中,类实现了接口,类中的方法实现了接口声明的所有方法。

例如,汽车和轮船都是交通工具,而交通工具知识一个可移动工具的抽象概念,船和车实现了具体移动功能。

 

3.3 组合关系

组合关系(Composition):整体与部分的关系,但是整体与部分不可以分开。

组合关系表示类之间整体与部分的关系,整体和部分有一致的生存期。一旦整体对象不存在,部分对象也将不存在,是同生共死的关系。

例如:人由头部和身体组成,两者不可分割,共同存在。

 

3.4 聚合关系

聚合关系(Aggregation):整体和部分的关系,整体与部分可以分开。

聚合关系也表示类之间整体与部分的关系,成员对象是整体对象的一部分,但是成员对象可以脱离整体对象独立存在。

例如,公交车司机和工衣、工帽是整体与部分的关系,但是可以分开,工衣、工帽可以穿在别的司机身上,公交司机也可以穿别的工衣、工帽。

 

3.5 关联关系

关联关系(Association):是类与类之间最常用的一种关系,它是一种结构化关系,用于表示一类对象与另一类对象之间有联系,如汽车和轮胎、师傅和徒弟、班级和学生等等。在UML类图中,用实线连接有关联关系的对象所对应的类,在使用Java、c#和C++等编程语言实现关联关系时,通常将一个类的对象作为另一个类的成员变量。在使用类图表示关联关系时可以在关联线上标注角色名,一般使用一个表示两者之间关系的动词或者名词表示角色名(有时该名词为实例对象名),关系的两端代表两种不同的角色,因此在一个关联关系中可以包含两个角色名,角色名不是必须的,可以根据需要增加,其目的是使类之间的关系更加明确。

关联关系有四种:双向关联、单向关联、自关联、多重数关联。

  • 双向关联 , 在默认情况下,关联是双向的。例如:顾客(Customer)购买商品(Product),反之,卖出的商品总有某个顾客与之相关联。

     

  • 单向关联 类的关联关系也可以是单向的,单向关联用带箭头的实线表示。例如:顾客(Customer)拥有地址(Address),则Customer类与Address类具有单向关联关系。

     

  • 自关联 在系统中可能会存在一些类的属性对象类型为该类本身,这种特殊的关联关系称为自关联。例如:一个节点类(Node)的成员又是节点Node类型的对象。

     

  • 多重性关联 多重性关联关系又称为重数性(Multiplicity)关联关系,表示两个关联对象在数量上的对应关系。在UML中,对象之间的多重性可以直接在关联直线上用一个数字或一个数字范围表示。

    对象之间可以存在多种多重性关联关系,常见的多重性表示方式如下:

     

例如:一个界面(Form)可以拥有零个活多个按钮(Button),但是一个按钮只能属于一个界面,因此,一个Form类的对象可以与零个或多个Button类的对象相关联,但一个Button类的对象只能与一个Form类的对象关联,如图

 

3.6 依赖关系

依赖关系(Dependence):假设A类的变化引起了B类的变化,则说明B类依赖于A类。

大多数情况下,依赖关系体现在某个类的方法使用另一个类的对象作为参数。

依赖关系是一种“使用”关系,特定事物的改变可能会影响到使用该事物的其他事物,在需要表示一个事物使用另一个事物时使用依赖关系。

例如:汽车依赖汽油,如果没有汽油,汽车将无法行驶。

 

4 总结

这六种类关系中,组合、聚合和关联的代码结构一样,可以从关系的强弱来理解,各类关系从强到弱依次是:继承-》实现-〉组合-》聚合-〉关联-》依赖。如下是完整的一张UML关系图

 

おすすめ

転載: www.cnblogs.com/amamyliu/p/uml_basic.html