您的位置:首页 > 编程语言 > Java开发

UML類圖簡要筆記

2016-12-30 16:02 134 查看

UML類圖簡要語法

UML圖形中,使用最多的應該是UML類圖了,瞭解類圖的使用與結構。類:封裝了數據和行爲,具有相同屬性、操作、關係的對象的集合的總稱。

系統分析與設計階段,類分爲:實體類、控制類、邊界類。

實體類:對應的是系統需求中的實體對象

控制類:對應系統的執行邏輯和業務操作

邊界類:對應系統的一些對外接口界面等

1、類圖

在UML中,類使用類名、屬性和操作放置與綫框内表示。
Employee




public class Employee{
private String name;
private int age;
private String email;

public void modifyInfo(){
...
}
}


説明:類圖中由三部分組成:

類名:字符串形式的類名

屬性:類的成員變量
權限  名稱:類型 [ = 默認值]


方法/函數:類的任意對象的行爲
權限  名稱(參數列表) [ : 返回類型]


其中權限有三種:public、private、protected,對應的符號是
+
-
#




Java語言中有内部類,也就出現了第四部分



2、類圖之間關係

軟件系統中,類多不是孤立存在的,而存在多重關係

關聯

實綫鏈接
表示關聯關係,Java中可以理解為,一個類中包含了另外一個類的對象,則兩者為關聯關係。



public class LoginForm{
private JButton loginButton;//定為成員變量
...
}

public class JButton{
...
}


雙向關聯

默認情況下,關聯是雙向的,顧客與商品,學生與老師。



public class Customer {
private Product[] products;
...
}
public class Product {
private Customer customer;
...
}


單向關聯

單向關聯則用帶箭頭的實綫表示

自關聯

包含自身的關聯模式



多重關聯

Multiplicity複雜的關聯關係,用數字對應方式表示

表示方式多重性説明
1..1另一類的一個對象,衹與該類的一個對象
0..*另一類的一個對象,與該類的0個或多個對象有關係
1..*另一類的一個對象,與該類的一個或多個對象有關係
0..1另一類的一個對象,沒有或衹與該類的一個對象有關係
m..n另一類的一個對象,與該類至少m,最多n個對象有關係
示例,一個界面可有多個Button,一個Button衹能屬於一個或者不屬于任何界面。



public class From{
private Button[] buttons;//button的集合
...
}
public class Button{
...
}


聚合關係

整體與部分的關係,成員可以不必以來整體存在,使用菱形箭頭實綫



public class Car{
private Engine engine;
//構造函數
public Car(Engine engine){
this.engine = engine;
}
//set
public void setEngine(Engine engine){
this.engine = engine;
}
...
}

public class Engine{
...
}


組合關係

表示整體與部分,但是部分不能脫離整體存在,用實心菱形箭頭實綫表示



public class Head{
private Mouth mouth;
public Head(){
mouth = new mouth();//實例化成員類
}
...
}
public class Mouth {
...
}


依賴關係

使用虛綫表示依賴



public class Driver {
public void drive(Car car){
car.move();
}
...
}
public class Car{
public void move(){
...
}
...
}


汎化關係

汎化關係也就是繼承關係,使用實綫空心三角箭頭表示



//父类
public class Person {
protected String name;
protected int age;

public void move() {
……
}

public void say() {
……
}
}

//子类
public class Student extends Person {
private String studentNo;

public void study() {
……
}
}

//子类
public class Teacher extends Person {
private String teacherNo;

public void teach() {
……
}
}


接口實現

接口是沒有屬性的抽象方法的集合,實現使用虛綫空心三角箭頭表示,接口左上角有標志。



public interface Vehicle {
public void move();
}

public class Ship implements Vehicle {
public void move() {
……
}
}

public class Car implements Vehicle {
public void move() {
……
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  uml 类图 面向对象 JAVA