类之间的关系
版本: v1.0
日期: 2019.03.26
作者: Catherine
简单的说,类和类之间的关系有三种:is-a
、has-a
和use-a
关系.
is-a
关系也叫继承
或泛化
,比如学生和人的关系、手机和电子产品的关系都是属于继续关系.has-a
关系通常称之为关联
,比如部门和员工的关系,汽车和引擎的关系都属于关联关系;关联关系如果是整体和部分的关系,那么我们称之为聚合关系
;如果整体进一步负责了部分的生命周期(整体和部分是不可分割的,同时存在也同时消亡),那么这种就是最强的关联关系,我们称之为合成关系
.use-a
关系通常称之为依赖
,比如司机有一个驾驶的行为(方法),其中(的参数)使用到了汽车,那么司机和汽车的关系就是依赖关系.
@startuml abc
class Person{
name
age
__
eat
play
}
class Student{
grade
__
study
}
class Teacher{
title
__
teach
}
class Driver{
work_experience
license
__
drive
}
class License{
Attribute
__
Method
}
class Vehicle{
brand
engine
__
accelerate
slow_down
}
class Engine{
number
__
}
class Car{
seats
displacement
__
}
class Truck{
capacity
__
}
Person <|--left- Student
Person <|--down- Teacher: <font color=white>继承关系</font>
Person <|--right- Driver
Driver --down- License: <font color=white>关联关系</font>
Driver -right..|> Vehicle: <font color=white>依赖关系</font>
Engine o--up- Vehicle: <font color=white>聚合关系</font>
Vehicle <|--right- Car
Vehicle <|--right- Truck
@enduml
有任何问题可参考以下两个网址:
http://plantuml.com/class-diagram
https://www.planttext.com/