UML类图的理解。2018-09-30

UML类图的理解: 主要是查看一些框架的时候,经常看见一些UML类图方便一下。。。闲话不多开始。

  • UML分类
    • 继承
    • 实现
    • 关联
    • 聚合
    • 组合
    • 依赖
继承 特点:空心三角箭头 + 实线
代码如下:
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 {//学号。。 private String studentNo; public void study(){ System.out.println("上课的方法"); }} ---public class Teacher extends Person {private String teacherNo; public void teach(){ System.out.println("教学"); }}

UML类图如下:

UML类图的理解。2018-09-30
文章图片
20180930008.png 特点: 空心三角箭头 + 实线
实现 特点:空心三角箭头 + 虚线
代码如下:
public interface Fly {void fly(); } --- public class Bird implements Fly { @Override public void fly() {} }

UML类图如下:

UML类图的理解。2018-09-30
文章图片
20180930009.png 关联 特点:箭头 + 实线
代码如下:
public class Address { } --- public class Student { private Address address; public Address getAddress() { return address; }public void setAddress(Address address) { this.address = address; } }

UML类图如下:

UML类图的理解。2018-09-30
文章图片
20180930010.png 特点:就是Student里面关联了Address这个属性。。一会和后面的聚合,组合有点区别。。
聚合 特点:空心菱形 + 实线 + >
代码如下:
public class Engine {public void start(){ System.out.println("发动机发动"); }} --- public class Wheel {public void run(){ System.out.println("轮子转动"); }} 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类图如下:

UML类图的理解。2018-09-30
文章图片
20180930011.png 特点: 这几个类可以单独存在,不存在生命周期的依赖关系。
组合 特点:实心菱形 + 实线 + >
代码如下:
public class Eye { } public class Face { } public class Person {private Eye eye; private Face face; public Person() { eye = new Eye(); face = new Face(); } }

UML类图如下:

UML类图的理解。2018-09-30
文章图片
20180930012.png 特点:组合呢,就是生命周期依靠Person这个类, 如果这个类死啦。。那个Eye和Face都没有啦。
依赖 特点:< + 虚线
代码如下:
public class Car { public void run(){} } ---public class Driver {public void drive(Car car){ car.run(); }}

UML类图如下:

UML类图的理解。2018-09-30
文章图片
20180930013.png 【UML类图的理解。2018-09-30】特点:这个是一个方法里面的参数类型。 这个就是依赖。。

    推荐阅读