小男孩儿 2019-11-19
类图(Class diagram)主要用于描述系统的结构化设计。类图也是最常用的UML图,用类图可以显示出类、接口以及它们之间的静态结构和关系。
符号 | 解释 |
---|---|
+ | public |
- | private |
# | protected |
~ | default |
下面有横线 | 表示static静态属性 |
符号 | 解释 |
---|---|
+-#~ | 同上 |
斜体 | 抽象方法 |
下面有横线 | 表示static静态方法 |
:String | :后表示返回值,返回String字符串类型 |
无: | 表示void无返回 |
/** * 动物类 */ public class Animal { /** * 生命 */ public String life; /** * 新陈代谢 * @param oxygen 氧气 * @param water 水 */ public void metabolism(Oxygen oxygen, Water water) { } public void multiply () { } }
/** * 水 */ public class Water {} /** * 氧气 */ public class Oxygen {}
public class Animal { /** * 生命 */ public String life; /** * 新陈代谢 * @param oxygen 氧气 * @param water 水 */ public void metabolism(Oxygen oxygen, Water water) { } public void multiply () { } }
/** * 鸟 */ public class Bird extends Animal { /** * 羽毛 */ public String plume; /** * 两个翅膀 */ public List<Wing> wings; /** * 生蛋 */ public void rawEgg () { } }
/** * 鸟 */ public class Bird extends Animal { /** * 羽毛 */ public String plume; /** * 两个翅膀 */ public List<Wing> wings; /** * 生蛋 */ public void rawEgg () { } }
/** * 翅膀 */ public class Wing {}
关联关系分为单向关联和双向关联:
/** * 企鹅 */ public class Penguin extends Bird { //气候 public Climate climate; public Climate getClimate() { return climate; } public void setClimate(Climate climate) { this.climate = climate; } }
/** * 气候 */ public class Climate {}
/** * 大雁群 */ public class BigWildGooseGroup { public List<BigWildGoose> bigWildGooses; public void oneFly() { System.out.println("一字飞行"); } public void vfly() { System.out.println("V字飞行"); } public List<BigWildGoose> getBigWildGooses() { return bigWildGooses; } public void setBigWildGooses(List<BigWildGoose> bigWildGooses) { this.bigWildGooses = bigWildGooses; } }
/** * 大雁 */ public class BigWildGoose extends Bird implements IFly{ @Override public void fly() {} }
/** * 大雁 */ public class BigWildGoose extends Bird implements IFly{ @Override public void fly() {} }
/** * 飞行接口 */ public interface IFly { void fly(); }
慕课网设计模式精讲
: https://coding.imooc.com/class/270.html大话设计模式
: https://book.douban.com/subject/2334288/设计模式之 UML 类图
: https://zhuanlan.zhihu.com/p/24576502UML学习(二)-----类图
: https://www.cnblogs.com/silent2012/archive/2011/09/07/2169946.html