UML類圖的理解:
主要是查看一些框架的時(shí)候验烧,經(jīng)嘲宀担看見一些UML類圖方便一下。碍拆。若治。閑話不多開始。
-
UML分類
- 繼承
- 實(shí)現(xiàn)
- 關(guān)聯(lián)
- 聚合
- 組合
- 依賴
繼承
特點(diǎn):空心三角箭頭 + 實(shí)線
代碼如下:
public class Person {
private String name = "Jack";
public String getName()
{
return name;
}
public void setName(String name)
{
this.name = name;
}
protected void playBasketball()
{
pass();
}
private void say()
{
}
}
-----
public class Student extends Person {
//學(xué)號感混。端幼。
private String studentNo;
public void study(){
System.out.println("上課的方法");
}
}
---
public class Teacher extends Person {
private String teacherNo;
public void teach(){
System.out.println("教學(xué)");
}
}
UML類圖如下:
特點(diǎn): 空心三角箭頭 + 實(shí)線
實(shí)現(xiàn)
特點(diǎn):空心三角箭頭 + 虛線
代碼如下:
public interface Fly {
void fly();
}
---
public class Bird implements Fly {
@Override
public void fly() {
}
}
UML類圖如下:
關(guān)聯(lián)
特點(diǎn):箭頭 + 實(shí)線
代碼如下:
public class Address {
}
---
public class Student {
private Address address;
public Address getAddress() {
return address;
}
public void setAddress(Address address) {
this.address = address;
}
}
UML類圖如下:
特點(diǎn):就是Student里面關(guān)聯(lián)了Address這個(gè)屬性。弧满。一會和后面的聚合静暂,組合有點(diǎn)區(qū)別。谱秽。
聚合
特點(diǎn):空心菱形 + 實(shí)線 + >
代碼如下:
public class Engine {
public void start(){
System.out.println("發(fā)動機(jī)發(fā)動");
}
}
---
public class Wheel {
public void run(){
System.out.println("輪子轉(zhuǎn)動");
}
}
public class Car {
private Engine engine;
private Wheel wheel;
public Car(Engine engine, Wheel wheel) {
this.engine = engine;
this.wheel = wheel;
}
public void run(){
engine.start();
wheel.run();
}
}
UML類圖如下:
特點(diǎn): 這幾個(gè)類可以單獨(dú)存在洽蛀,不存在生命周期的依賴關(guān)系摹迷。
組合
特點(diǎn):實(shí)心菱形 + 實(shí)線 + >
代碼如下:
public class Eye {
}
public class Face {
}
public class Person {
private Eye eye;
private Face face;
public Person() {
eye = new Eye();
face = new Face();
}
}
UML類圖如下:
特點(diǎn):組合呢,就是生命周期依靠Person這個(gè)類郊供, 如果這個(gè)類死啦峡碉。。那個(gè)Eye和Face都沒有啦驮审。
依賴
特點(diǎn):< + 虛線
代碼如下:
public class Car {
public void run(){
}
}
---
public class Driver {
public void drive(Car car){
car.run();
}
}
UML類圖如下:
特點(diǎn):這個(gè)是一個(gè)方法里面的參數(shù)類型鲫寄。 這個(gè)就是依賴。疯淫。