20230418 0.1. UML
UML
这一节非常帮!!!
几种关系以及代码示例
继承
class Bird extends Animal {
}
实现
class WideGoose implements IFly {
}
关联 Association
企鹅需要'知道'气候的变化,需要'了解'气候规律。当一个类'知道'另一个类时,可以用关联(association)。
class Penguin extends Bird {
//在企鹅Penguin中,引用了气候Climate对象
private Climate climate;
}
聚合 Aggregation
大雁与雁群这两个类,大雁是群居动物,每只大雁都属于一个雁群,一个雁群可以有多只大雁。所以它们之间就满足聚合(Aggregation)关系。聚合表示一种弱的'拥有'关系,体现的是A对象可以包含B对象,但B对象不是A对象的一部分
class WideGooseAggregate {
//在雁群WideGooseAggregate类中有大雁数组对象arrayWideGoose
private WideGoose[] arrayWideGoose;
}
合成 Composition
合成(Composition,也有翻译成'组合'的)是一种强的'拥有'关系,体现了严格的部分和整体的关系,部分和整体的生命周期一样
class Bird {
//在鸟Bird类中声明一个翅膀Wing对象wing
private Wing wing;
public Bird() {
//初始化时,实例化翅膀Wing,它们之间同时生成
wing = new Wing();
}
}
依赖 Dependency
动物几大特征,比如有新陈代谢,能繁殖。而动物要有生命力,需要氧气、水以及食物等。也就是说,动物依赖于氧气和水
abstract class Animal {
public Metabolism (Oxygen oxygen, Water water){
}
}