UML图
UML(Unified Modeling Language)统一建模语言,是一种开放的方法,用于说明、可视化、构建和编写一个正在开发的、面向对象的、软件密集系统的制品的开放方法。
UML类图由三部分组成:类名、属性和方法。
eg:
class Person {
private String name = "personName";
private int age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}

类名:类名就是类的名称,如果是抽象类的话就在右下角加一个(Abstract)标识。
属性:就是类的成员变量,可见性表示为public(+)、protected(#)、private(-)。在UML类图中可以表示属性的可见性、名称、类型和默认值,格式如下([] 里面的表示可选,可以有可以没有):
可见性 名称:类型 = 默认值
方法:可见性同属性,格式如下:
可见性 名称(参数列表) : 返回类型
UML类图之间的主要关系有6种:继承关系,实现关系,依赖关系,关联关系,聚合关系,组合关系。
子类和父类之间的关系,可以用带空心三角形的实线表示。
如果一个Teacher类继承上面的Person类:
class Teacher extends Person {
private int teacherNum;
public String teach() {
return "teaching";
}
}
UML图可以表示为:

类和接口之间的关系,可以用带空心三角形的虚线表示。
如下一个Dog类和一个Cat类实现了Animal接口:
public interface Animal {
public void eat();
}
public class Dog implements Animal {
@Override
public void eat() {
System.out.println("狗狗吃狗粮");
}
}
public class Cat implements Animal {
@Override
public void eat() {
System.out.println("咪咪吃猫粮");
}
}
UML可以表示为:

聚合关系使用空心菱形表示。
聚合是一种特殊的关联(Association)形式,表示两个对象之间的所属(has-a)关系。所有者对象称为聚合对象,它的类称为聚合类;从属对象称为被聚合对象,它的类称为被聚合类。例如,一个公司有很多员工就是公司类Company和员工类Employee之间的一种聚合关系。被聚合对象和聚合对象有着各自的生命周期,即如果公司倒闭并不影响员工的存在。
比如:
public class Company {
private List<Employee> employees;
}
public class Employee {
private String name;
}
UML可以表示为:

组合关系使用实心菱形表示。
聚合是一种较弱形式的对象包含(一个对象包含另一个对象)关系。较强形式是组合(Composition). 在组合关系中包含对象负责被包含对象的创建以及生命周期,即当包含对象被销毁时被包含对象也会不复存在。例如一辆汽车拥有一个引擎是汽车类Car与引擎类Engine的组合关系。
比如:
public class Car {
private final Engine engine = new Engine();
}
class Engine {
private String type;
}
UML可以表示为:

Last modified 2yr ago