public abstract class Person{
public String name;
protected int age = 18;
private Date birthday;
protected abstract void eat(String data)
public void drink(){
}
private boolean play(Object[] obj){
return false;
}
}
UML类图属性的表示方式为:
可见性 名称:类型[=缺省值]
public class Person{
private Cat cat;
......
}
public class Cat{
......
}
双向关联是指两个类具有属性间的相互包含的关系。
public class Teacher{
private Student student;
......
}
public class Student{
private Teacher teacher;
......
}
自关联是指一个类的属性类型是该类本身。
public class Node{
private Node subNode;
......
}
一个人可以不养猫,也可以养很多只猫,但是一只猫只能有一个主人。
public class Person{
private Cat[] cat;
......
}
public class Cat{
......
}
聚合关系是整体与部分的关系,成员对象是整体的一部分,但是成员对象可以脱离主题而独立存在。成员对象通常作为构造方法、Setter方法或业务方法的参数注入到整体对象。
public class Car{
private Tyre tyre;
public Car(Tyre tyre){
this.tyre = tyre;
}
public void setTyre(Tyre tyre){
this.tyre = tyre;
}
}
public class Tyre{
......
}
组合关系也是整体与部分的关系,但是整体对象可以控制成员对象的生命周期,当整体对象消失时,成员对象也将不复存在。
public class Country{
private Person person;
public Country(){
person = new Person();
}
}
public class Person{
......
}
依赖关系是一种使用关系,特定事务的改变可能会影响到使用该事务的其他事务,在需要表示一个事务使用另一个事务是使用依赖关系。
public class Person{
public void drive(Car car){
car.move();
}
}
public class Car{
public void move(){
......
}
}
泛化关系又称继承关系,用于描述父类与子类之间的关系,父类又称作基类或者超类,子类又称作派生类。
public class Person{
......
}
public class Son extends Person{
......
}
实现关系是类与接口之间的关系,类的操作实现了接口中所声明的操作。
public interface Person{
......
}
public class ZhangSan implements Person{
......
}