当前位置:网站首页>Summary of several relationships of UML class diagram
Summary of several relationships of UML class diagram
2022-04-23 19:16:00 【Eighteen movements of Tathagata divine palm】
stay UML In class diagram , There are several common relationships : generalization (Generalization), Realization (Realization), relation (Association), polymerization (Aggregation), Combine (Composition), rely on (Dependency)
1. generalization (Generalization)
【 Generalization relation 】: It's an inheritance relationship , It specifies how the subclass can specialize all the features and behaviors of the parent class, such as : Tiger is a kind of animal .
【 The arrow points to 】: A solid line with a triangular arrow , The arrow points to the parent class

2. Realization (Realization)
【 Realization relationship 】: It's a kind of interface relationship , A presentation class is an implementation of all the features and behaviors of an interface
【 The arrow points to 】: Dotted line with triangular arrows , The arrow points to the interface

3. relation (Association)
【 Connections 】: It's a relationship of ownership , It lets one class know the properties and methods of another class ; Such as : Teachers and students , Husband and wife
Association can be two-way , It could be one-way . A two-way association can have two arrows or no arrows , A one-way association has an arrow .
【 The code is 】: Member variables
【 Arrows and points 】: A solid line with an ordinary arrow , Point to the possessed

Above picture , Teachers and students are connected in two ways , The teacher has many students , Students may also have more than one teacher . But the relationship between students and a course is unidirectional , A student may take more than one course , Course is an abstract thing. He doesn't have students .

The picture above shows the self relevance :
4. polymerization (Aggregation)
【 Aggregate relationship 】: It's the relationship between the whole and the part . For example, the relationship between the car and the tire is the relationship between the whole and the part .
Aggregation is a kind of association , It's a strong correlation ; Association and aggregation are grammatically indistinguishable , We must examine the concrete logical relations .
【 The code is 】: Member variables
【 Arrows and points 】: A solid line with a hollow diamond , Rhombus pointing to the whole

5. Combine (Composition)
【 synthetic relation 】: It's the relationship between the whole and the part ., There is no department without a company A combination relationship is a kind of association relationship , It's a stronger relationship than an aggregate relationship , It requires that the object representing the whole in the common aggregation relationship is responsible for the life cycle of the object representing the part
【 The code is 】: Member variables
【 Arrows and points 】: A solid line with a solid diamond , Rhombus pointing to the whole

6. rely on (Dependency)
【 Dependency relationship 】: It's a relationship of use , So try not to use two-way interdependence .
【 Code representation 】: local variable 、 Method parameters or calls to static methods
【 Arrows and points 】: Dotted line with arrow , Point to the user

The order of strength and weakness of various relationships :
generalization = Realization > Combine > polymerization > relation > rely on
This picture below UML chart , It vividly shows all kinds of class diagram relationships :

版权声明
本文为[Eighteen movements of Tathagata divine palm]所创,转载请带上原文链接,感谢
https://yzsam.com/2022/04/202204231912079145.html
边栏推荐
- SSDB基础1
- Core concepts of rest
- Redis optimization series (III) solve common problems after master-slave configuration
- c1000k TCP 连接上限测试1
- Installation, use and problem summary of binlog2sql tool
- SQL Server database in clause and exists clause conversion
- JS calculation time difference
- Raspberry pie 18b20 temperature
- Strange passion
- Openlayers 5.0 discrete aggregation points
猜你喜欢

12 examples to consolidate promise Foundation

Raspberry pie 18b20 temperature
![[记录]TypeError: this.getOptions is not a function](/img/c9/0d92891b6beec3d6085bd3da516f00.png)
[记录]TypeError: this.getOptions is not a function

The difference between ordinary inner class and static inner class

mysql_linux版本的下載及安裝詳解

【C语言进阶11——字符和字符串函数及其模拟实现(2))】

Use of fluent custom fonts and pictures

该买什么设备,Keysight 给你挑好了

redis优化系列(三)解决主从配置后的常见问题

2022.04.23(LC_714_买卖股票的最佳时机含手续费)
随机推荐
SSDB基础3
【玩转Lighthouse】腾讯云轻量服务器搭建全平台视频解析视频下载网站
Why is PostgreSQL about to surpass SQL Server?
JS controls the file type and size when uploading files
2022.04.23(LC_714_买卖股票的最佳时机含手续费)
mysql通过binlog恢复或回滚数据
ArcGIS JS API dojoconfig configuration
開關電源設計分享及電源設計技巧圖解
RuntimeError: Providing a bool or integral fill value without setting the optional `dtype` or `out`
mysql_linux版本的下載及安裝詳解
腾讯云GPU最佳实践-使用jupyter pycharm远程开发训练
MySQL practical skills
SSDB基础1
该买什么设备,Keysight 给你挑好了
浅谈c语言指针的强制转换
ArcMap connecting ArcGIS Server
Quick start to static class variables
在渤海期货办理开户安全吗。
FTP, SSH Remote Access and control
【C语言进阶11——字符和字符串函数及其模拟实现(2))】