标签:组合 另一个 定义 就是 out 集合 表示 rod lock
假设A类的变化引起了B类的变化,就说明B依赖于A。
在UML图中,用虚线箭头表示类之间的依赖关系。
依赖关系有下面具体三种情况。
public class Driver {
public void drive(Car car){ //类Car是Driver里一个方法的参数,说明Car的变化能带来Driver的变化,则说明Driver依赖Car
car.move();
}
}
public class Car {
public void move() {
...
}
}
A是B、C的父类,说明A是 B, C 的泛化。
在UML图中,泛化关系用实线空心三角形表示。在Java中,泛化关系用extends来实现。
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() {
...
}
}
在UML当中,对泛化关系有三个要求:
类之间有关联,比如客户和订单,一个客户有很多订单,一个订单对应一个客户,这就说他们之间存在关联。
在UML中,关联关系使用实线来连接
关联,通常将一个类的对象作为另一个类的属性
public class Customer {
private Product [] products;
}
public class Product {
private Customer customer;
}
4、重数性关联:表示一个类的对象与另一个类的对象连接的个数
1..1 表示另一个类的一个对象只与一个该类对象有关系
0..* 表示另一个类的一个对象与零个或多个该类对象有关系
1..* 表示另一个类的一个对象与一个或多个该类对象有关系
0..1 表示另一个类的一个对象没有或只与一个该类对象有关系
m..n 表示另一个类的一个对象与最少m、最多n个该对象有关系
public class Form {
private Button buttons[];
...
}
public class Button {
...
}
表示整体和部分的关系。通常在定义了一个整体类后,再去分析这个整体类的组成结构,从中找出成员类,该整体类和成员类之间就形成了聚合关系。在聚合关系中,成员类是整体类的一部分,即成员对象是整体对象的一部分,但成员对象可以脱离整体对象独立存在。
在UML图中,聚合关系用带空心菱形的直线表示
public class Car {
private Engine engine;
public Car(Engine engine) {
this.engine = engine;
}
public void setEngine(Engine engine) {
this.engine = engine;
}
...
}
public class Engine {
...
}
也就是整和部分的关系,但是整体与部分不可以分开。部分和整体具有统一的生存期,一旦整体对象不存在,部分对象也将不存在。同生共死。
在UML中,组合关系常用带实心菱形的直线表示。
public class Head {
private Mouth mouth;
public Head {
mouth = new Mouth();
}
}
public class Mouth {
...
}
用来规定接口和实现接口的类或者构建结构的关系,接口是操作的集合,而这些操作就用于规定类或者构建的一种服务。
这里没学到接口,先放一放
标签:组合 另一个 定义 就是 out 集合 表示 rod lock
原文地址:https://www.cnblogs.com/hmzmua/p/10991830.html