ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

UML-类图

2022-01-25 17:00:34  阅读:172  来源: 互联网

标签:对象 void 概览 类图 private public UML class


UML-类图

 

 

基础图例

 

类 Class

概览

方法与属性前缀

  • + 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

概览

代码展示

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

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

 

 

包 Package

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

概览

 

 

 

类之间关系

泛化

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

继承 extend

概览

代码展示

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


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

概览

 

 

代码展示

public interface Behaver {
   public void walk();
}


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

 

依赖 Dependency

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

概览

代码实现

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

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

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

单向关联

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

概览

代码实现

public class School {
   private String name;
}

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

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

概览

代码实现

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

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

概览

 

 

代码实现

public class Node {
   private Node childNode;
}

 

聚合 Aggregation

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

概览

代码实现

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的关系,体现了严格的部分和整体关系,部分和整体的生命周期一样

概览

代码实现

public class Controller {
   private TestService testService;

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

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

}

 

标签:对象,void,概览,类图,private,public,UML,class
来源: https://www.cnblogs.com/lsli/p/15843648.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有