UML类图
类
类使用一个矩形来表示。该类图分为三层,第一层显示类的名称,如果是抽象类就要用斜体显示。第二层是类的特性,通常就是字段和属性。第三层是类的操作,通常是方法和行为。注意前面的符号,‘+’表示public, ‘—’ 表示private, ‘#’表示protected.
接口
它与类图的区别主要是顶端有《interface》显示,第一行是接口名称,第二行是接口方法。接口还有另一种表示方法,俗称棒棒糖表示法
继承
继承使用空心三角形和实线来表示
实现接口
实现接口用空心三角形和虚线来表示
关联关系
关联关系在代码中表现为:类A中有一个属性是类B的一个实例。如下,企鹅中有一个气候的实例。关联关系用实线的肩头来表示。
class Penguin :Bird
{
private Climate climate;//在企鹅Penguin中,引用到气候Climate对象
}
聚合关系
聚合关系在代码中表现为:在类A中有一个属性是类B的集合。如下。聚合关系使用空心的菱形+实线箭头来表示。
class WideGooseAggregate
{
private WideGoose[] arrayWideGoose;
//在雁群WideGooseAggregate类中,有大雁数组对象arrayWideGoose
}
合成关系
合成关系在代码上表现为:类A的构造函数中,初始化类B的实例。表现为一种强的依赖关系。如:鸟和翅膀之间的关系。合成关系用实心的的菱形+实线箭头来表示。
class Bird
{
private Wing wing;
public Bird()
{
wing=new Wing();
//在鸟Bird类中,初始化时,实例化翅膀Wing,它们之间同时生成
}
}
依赖关系
依赖关系在代码上表现为:
1.类A的一个方法中,参数是类B的一个实例。
2.类A中有一个方法的局部变量是B。
3.类A中有一个方法的返回类型是B。
依赖关系用虚线箭头表示。
abstract class Animal
{
public Metabolism(Oxygen oxygen,Water water)
{
}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?