简单了解UML类图

前言

大话设计中,多次使用UML类图来表示,并也给了基本的介绍,这里从书中选出UML图和代码做成笔记,以方便查找。

1、类

注意前面的符号:
+:public
-:private
#:protected
抽象类,第一行的名称要用斜体
在这里插入图片描述

abstract class 动物{
    
    
	public 类型 有生命;
	...// 后面依赖关系会提到
}

2、接口

接口的UML有两个表示形式,矩阵表示法和棒棒糖表示法。

在这里插入图片描述

interface I飞翔{
    
    
	void();
}

在这里插入图片描述

棒棒糖表示法中,接口名称讲人话接口方法讲话

interface I讲人话{
    
    
	void 讲话();
}

3、继承

在这里插入图片描述

classextends 动物{
    
    
	public 数据类型 羽毛;
	public void 下蛋(){
    
    
		...
	};
}

4、实现

在这里插入图片描述

class 大雁 implements I飞翔{
    
    
	public void 下蛋(){
    
    
		...
	};
	public void(){
    
    
		// 接口的方法,这里具体实现
	};
}

5、关联关系

企鹅需要‘知道’气候变化,需要‘了解’气候规律。
当一个类‘知道’另一个类时,可以用关联(association)在这里插入图片描述

class 企鹅 extends{
    
    
	// 在 企鹅 中,引用了气候climate对象
	private 气候 climate;
}

6、聚合关系

聚合关系:A可以包含B,但B不是A的一部分。

在这里插入图片描述

class 雁群{
    
    
	// 雁群可以有多个大雁在里面
	private 大雁[] 声明的对象;
}
  • 解释:
    雁群是一个大的群体,可以看作定义中的A;大雁是单独的个体,可以看作定义的B,这个个体可以有好多(B1到Bn个)。如下图,B4可以在A中,也可以不在A中,这就是聚合。
    在这里插入图片描述

7、组合关系

组合关系:整体与部分,包含。

连接线上有数字‘1’和‘2’,这个表示一端的类可以有几个实例
下图例子是1个鸟有2个翅膀在这里插入图片描述

class{
    
    
	// 鸟中声明翅膀对象wing
	private 翅膀 wing;
	public(){
    
    
		// 初始化时,实例化翅膀wing,他们之间同时生成
		wing = new 翅膀();
	}
}

PS:无参构造里面的内容为组合;
白话:主体一旦被创建,部分也要同时被创建,所以在构造方法中。
在这里插入图片描述

8、依赖关系

在这里插入图片描述

abstract class 动物{
    
    
	public 类型 有生命;
	// 
	public 新陈代谢(氧气 oxygen,水 water){
    
    
	
	}
}

PS:被依赖的类(氧气,水),做为主类的返回对象或着形参数
白话:被依赖的类,在主类的方法中被要用到。

猜你喜欢

转载自blog.csdn.net/weixin_42516475/article/details/131647371