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個對象有關係 |
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() { …… } }
相关文章推荐
- java对世界各个时区(TimeZone)的通用转换处理方法(转载)
- java-注解annotation
- java-模拟tomcat服务器
- java-用HttpURLConnection发送Http请求.
- java-WEB中的监听器Lisener
- Android IPC进程间通讯机制
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- Debian 7.x 安装Oracle JAVA
- springmvc实现url路由功能
- spring boot 配置 druid/** * 配置druid * Created by adam on 4/11/16. */ @Configuration public class D
- api接口rsa加密