UML-类图

UML-类图

 

 

基础图例

 

类 Class

概览

UML-类图

方法与属性前缀

  • + public

  • - private

  • _ static

  • # protected , friendly

  • ~ 默认

代码展示

public class Person {
   private String name;
   private int age;
   int sex;
   protected int iq;
   public int eq;

   public String getName() {
       return name;
  }

   public int getAge() {
       return age;
  }

   public void setName(String name) {
       this.name = name;
  }

   public void setAge(int age) {
       this.age = age;
  }

   static Person getInstance() {
       return new Person();
  }
}

 

 

接口 Interface

概览

UML-类图

代码展示

public interface Behaver {
   public void run();
   public void walk();
}

枚举即修改<<>>中为枚举即可

 

 

包 Package

UML中的一个包直接对应于Java中的一个包

概览

UML-类图

 

 

 

类之间关系

泛化

泛化(Generalization)表示类与类之间的继承关系,接口与接口之间的继承关系,或类对接口的实现关系

继承 extend

概览

UML-类图

代码展示

public class Animal {
   public void breathe() {
       System.out.println("breathe");
  }
}


public class Dog extends Animal {
   public void run() {
       System.out.println("run");
  }
}
实现 implement

概览

UML-类图

 

 

代码展示

public interface Behaver {
   public void walk();
}


public class Dog implements Behaver {
   @Override
   public void walk() {
       System.out.println("dog walk");
  }
}

 

依赖 Dependency

对于两个相对独立的对象,当一个对象负责构造另一个对象的实例,或者依赖另一个对象的服务时,这两个对象之间主要体现为依赖关系

概览

UML-类图

代码实现

public class Food {
   private String foodName;

   public String getFoodName() {
       return foodName;
  }

   public void setFoodName(String foodName) {
       this.foodName = foodName;
  }
}


public class Dog {
   public void eat(Food food) {
       System.out.println("dog eat"+food.getFoodName());
  }
}

 

关联 Association

对于两个相对独立的对象,当一个对象的实例与另一个对象的一些特定实例存在固定的对应关系时,这两个对象之间为关联关系

重点是强调对象之间的关系

单向关联

单向关联就是一方持有另一方类型的成员变量

概览

UML-类图

代码实现

public class School {
   private String name;
}

public class Student {
   private School teacher;
}
双向关联

双向关联就是双方各自持有对方类型的成员变量

概览

UML-类图

代码实现

public class Teacher {
   private List<Student> studentList;
}

public class Student {
   private Teacher teacher;
}
自关联

概览

UML-类图

 

 

代码实现

public class Node {
   private Node childNode;
}

 

聚合 Aggregation

表示一种弱的‘拥有’关系,即has-a的关系,体现的是A对象可以包含B对象,但B对象不是A对象的一部分。 两个对象具有各自的生命周期

概览

UML-类图

代码实现

public class Chair {
   public void seatDown() {
       System.out.println("nice!");
  }
}

public class Bus {
   private Chair chair;

   public void doRun() {
       if(chair!=null){
           System.out.println("travel is nice!")
      }
  }
}

 

组合 Composition

组合是一种强的‘拥有’关系,是一种contains-a的关系,体现了严格的部分和整体关系,部分和整体的生命周期一样

概览

UML-类图

代码实现

public class Controller {
   private TestService testService;

   public void work() {
       testService.work();
  }
}

public class Service {
   public void work() {
       System.out.println("work");
  }

}

 

上一篇:Java基础知识23--Java中的四种访问权限:public、protected、包访问、private


下一篇:Oracle 11g新特性direct path read引发的系统停运故障诊断处理