当前位置:网站首页>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
边栏推荐
- 考试系统进入试卷优化思路
- MySQL Téléchargement et installation de la version Linux
- [play with lighthouse] Tencent cloud lightweight server builds a full platform video analysis video download website
- Screen right-click menu in souI
- redis优化系列(三)解决主从配置后的常见问题
- Using Visual Studio code to develop Arduino
- 2022.04.23 (the best time for lc_714_to buy and sell stocks, including handling charges)
- Gossip: on greed
- 浅谈c语言指针的强制转换
- Use of fluent custom fonts and pictures
猜你喜欢
I just want to leave a note for myself
[record] typeerror: this getOptions is not a function
arcMap 发布切片服务
Client interns of a large factory share their experience face to face
redis优化系列(三)解决主从配置后的常见问题
c#:泛型反射
2022.04.23 (lc_763_divided into letter interval)
优先使用组合而不使用继承
Getting started with vcpkg
Class loading process of JVM
随机推荐
Redis optimization series (III) solve common problems after master-slave configuration
Disable Ctrl + Alt + Del
Wechat video extraction and receiving file path
All table queries and comment description queries of SQL Server
Introduction to micro build low code zero Foundation (lesson 3)
From technical system to business insight, the closing chapter of the practice of small and medium-sized R & D team structure
简化路径(力扣71)
腾讯云GPU最佳实践-使用jupyter pycharm远程开发训练
Sword finger offer II 116 Number of provinces - spatial complexity O (n), time complexity O (n)
c#:泛型反射
Speculation on the way to realize the smooth drag preview of video editing software
Xlslib use
mysql通过binlog恢复或回滚数据
How about CICC wealth? Is it safe to open an account up there
openlayers 5.0 加载arcgis server 切片服务
One stop service platform for high-level talents and development of comprehensive service platform system for talents
mysql_linux版本的下载及安装详解
12个例子夯实promise基础
openlayers 5.0 当地图容器大小改变时,重新加载地图
std::stoi stol stoul stoll stof stod