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){
}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)