当前位置:网站首页>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
边栏推荐
- 12 examples to consolidate promise Foundation
- c1000k TCP 连接上限测试
- Strange problems in FrameLayout view hierarchy
- 数据分析学习目录
- ArcMap连接 arcgis server
- mysql_linux版本的下载及安装详解
- Wechat applet part of the mobile phone Preview PDF did not respond
- The platinum library cannot search the debug process records of some projection devices
- Openlayers 5.0 reload the map when the map container size changes
- Using Visual Studio code to develop Arduino
猜你喜欢
mysql通过binlog恢复或回滚数据
First experience of using fluent canvas
Reflection on the performance of some OpenGL operations in the past
Openharmony open source developer growth plan, looking for new open source forces that change the world!
Installation, use and problem summary of binlog2sql tool
Oracle配置st_geometry
FTP, SSH Remote Access and control
2021-2022-2 ACM集训队每周程序设计竞赛(8)题解
[advanced level 11 of C language -- character and string functions and their simulation implementation (2)]
On the forced conversion of C language pointer
随机推荐
Coordinate conversion WGS-84 to gcj-02 and gcj-02 to WGS-84
Raspberry pie 18b20 temperature
Client interns of a large factory share their experience face to face
2021-2022-2 ACM集训队每周程序设计竞赛(8)题解
One stop service platform for high-level talents and development of comprehensive service platform system for talents
8266 obtain 18b20 temperature
The fifth bullet of MySQL learning -- detailed explanation of transaction and its operation characteristics
Audio signal processing and coding - 2.5.3 the discrete cosine transform
Openlayers 5.0 thermal diagram
std::stoi stol stoul stoll stof stod
坐标转换WGS-84 转 GCJ-02 和 GCJ-02转WGS-84
The type initializer for ‘Gdip‘ threw an exception
Using Visual Studio code to develop Arduino
UML类图几种关系的总结
js上传文件时控制文件类型和大小
RuntimeError: Providing a bool or integral fill value without setting the optional `dtype` or `out`
C1000k TCP connection upper limit test
OpenHarmony开源开发者成长计划,寻找改变世界的开源新生力!
Transaction processing of SQL Server database
电路在线模拟