Java中UML常见图形含义以及概念

关系

继承

表示方式:用实现空心箭头

UML图

继承

代码:

public class Father{
   public void 百万财产()
   }
}
class Son extends Father{
	public void 败家(){}
}

实现

表示方式:虚线空心三角形箭头表示,实现类指向接口

UML图

实现

代码:

public class Interface{
   public void 抽象方法(){}
}
class Son extends Implement{
	public void 抽象方法(){
		具体实现;
	}
}

依赖

表示方式:虚线箭头

依赖关系是类与类之间的连接,是一种使用与被使用的关系。双方都不用定义对方的对象属性,只在方法中使用类。

关注点:

  • 无需定义对象属性。
  • 在方法内部创建依赖类的对象,或者调用依赖类的静态方法,或者依赖对象最为方法参数使用。
  • 类与类之间的关系在同一层次上。
    例如:司机开车

UML图

请添加图片描述

代码:

class Car{
   public void move()
  		//车子会移动
   }
class Driver{
    public void drive(Car car){
    	car.move();
	}
}

关联

表示方式:实线箭头

关联关系也是类与类之间的连接.需要定义(拥有)另一个类的对象属性,关联可以是单向,也可以是双向。

关注点:

  • 必须定义对象属性。
  • 类与类之间的关系在同一层次上。

UML图

请添加图片描述

代码

public class ClassA {
    B b;
}
class B{
    
}

聚合

表示方式:尾部为空心菱形的实现箭头(也可以没箭头)

聚合是关联关系的一种,是整体与个体(部分)的关系。个体可能被多个整体共享,删除整体,个体可以单独存在,删除个体,也不影响整体,整体和个体可单独存在。例如:班级和学生,学生会和学生,删除班级,学生还存在。

关注点:

  • 必须定义对象属性。
  • 类与类之间的关系在不同层次上,是整体与个体/部分的关系。
  • 整体与个体都可单独存在,生命周期没有关联。

UML图

请添加图片描述

代码

public class Student {
}
class Class {
    List<Student> students;
}

或者使用静态内部类

class Class {
    List<Student> students;
    static class Student {
   
	}
}

组合

表示方式:尾部为实心菱形的实现箭头(也可以没箭头)
组合也是关联关系的一种,比聚合更强的关联关系,也是整体与个体/部分的关系。但是整体不在,个体也不存在,个体不存在,整体是在的。
例如:人与四肢,人没了,四肢也会腐朽;四肢没了,但是人还可以活着

UML图

请添加图片描述

代码

public class People{
}
class leg{
    List<Leg> Legs;
}

区别

聚合和组合的区别

  • 聚合个体脱离整体可以单独存在。
  • 组合个体不能脱离整体单独存在。

依赖、关联和聚合、组合的区别

  • 依赖、关联:类之间的关系在同一层次上。
  • 聚合、组合:类之间是整体与部分的关系。

耦合度强弱

耦合度强度依次增强:依赖<关联<聚合<组合

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值