UML 类图

参考地址:
UML类图 - 简书

一、类图的属性

1、写法格式:属性/方法名:类型

2、权限符号:-表示private ,#表示protected,~表示default(也就是包权限),_下划线表示static,斜体表示抽象。

二、类的关系

1、泛化(Generalization)包括继承和实现。

(1)继承:实线空心三角(由子类指向父类)

(2)实现:虚线空心三角(由实现类指向接口类)

2、依赖(Dependency):类中的方法需要以另一个类的实例作为入参时,构成依赖关系。

虚线箭头(由类指向被依赖类)

3、关联(Association):两个独立的类,当类需要了解另一个类时,构成关联关系。

实线箭头(由当前类指向被了解的类)

4、聚合:两个对象有各自的生命周期。

空心菱形+实线箭头(菱形在群,箭头在个体)

5、组合:强拥有关系

实心菱形+实线箭头(菱形在整体,箭头在部分)

最后:推荐一个好的类图生成工具。simpleUML,写详设的时候再也不用一点点画了。

使用方法参考:Android Studio simpleUML(UML工具)使用详解 - as798982083 - 博客园

 

### UML的用法及示例 UML是一种用于描述系统静态结构的建模工具,它通过形化的方式展示了、接口、协作和它们之间的关系[^1]。以下是关于UML的详细说明以及使用教程。 #### 1. 的基本元素 在UML中,主要包含以下基本元素: - **(Class)**:表示系统中的实体,通常包括名、属性和方法。的表示形式为一个矩形框,分为三部分:名、属性和操作。 - **接口(Interface)**:定义了一组操作,但不提供具体实现。接口通常用带<<interface>>标记的矩形表示。 - **关联(Association)**:表示两个之间的关系,可以是单向或双向。 - **聚合(Aggregation)**:一种特殊的关联,表示“整体-部分”关系,但部分可以独立于整体存在。 - **组合(Composition)**:也是一种“整体-部分”关系,但部分不能独立于整体存在。 - **继承(Inheritance)**:表示子从父继承属性和方法的关系。 - **实现(Realization)**:表示实现了某个接口。 #### 2. 的绘制规则 绘制UML时需遵循以下规则: - 每个用矩形框表示,其中包含名、属性和方法。 - 属性和方法的可见性用符号表示:`+` 表示公共(public),`-` 表示私有(private),`#` 表示受保护(protected)。 - 关系用不同型的线表示,例如虚线表示依赖,实线表示关联,带空心菱形的线表示聚合,带实心菱形的线表示组合。 #### 3. 示例代码与 以下是一个简单的UML示例及其对应的代码实现。 ##### 示例 ```plaintext +-------------------+ | Person | +-------------------+ | - name: String | | - age: int | +-------------------+ | + getName(): void | | + setAge(int): void | +-------------------+ ``` ##### 对应代码实现 ```java public class Person { private String name; private int age; public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } } ``` #### 4. 工具推荐 为了更方便地绘制UML,可以使用以下工具: - **StarUML**:功能强大且支持多种UML的绘制。 - **Visual Paradigm**:提供免费社区版,适合初学者使用。 - **Draw.io**:在线工具,简单易用,适合快速绘制。 #### 5. 注意事项 在设计时,需注意以下几点: - 确保清晰简洁,避免过多的细节导致混乱。 - 正确表示之间的关系,确保关系型选择准确。 - 在实际开发中,应与代码保持一致,便于后续维护。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值