类之间的关系
Posted wangke0825
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了类之间的关系相关的知识,希望对你有一定的参考价值。
依赖关系
依赖指的是类之间的调用关系,一个类调用了另一个类的服务(方法)。如果类A在它的方法中调用另一个类B的方法或属性,则类A依赖类B。UML用带箭头的虚线表示依赖
public class Driver { public void drive(Car car) { car.move(); } …… } public class Car { public void move() { ...... } …… }
关联关系
关联指的是类之间的特定对应关系,在面向对象程序语言角度,关联代表一个类拥有的某个属性对应着另一个类。UML用带箭头的实线表示关联关系
描述关联关系的三个维度特性:①方向性;②多重性;③聚集性
public class Customer { private Address address; …… } public class Address { …… }
聚集关系
聚集是一种特殊的关联关系,特指对象之间存在一种”整体与部分“的包含关系。聚集关系可分为聚合关系和组合关系:
聚合(Aggregate): 普通聚集关系,被聚集的类或子系统允许被拆卸和替换
组合(Composite): 强聚集关系,被聚集的类或子系统不能被拆卸和替换。
public class Head { private Mouth mouth; public Head() { mouth = new Mouth(); } …… } public class Mouth { …… }
泛化关系
泛化关系(Generalization)也就是继承关系,也称为“is-a-kind-of”关系,泛化关系用于描述父类与子类之间的关系,父类又称作基类或超类,子类又称作派生类。在UML中,泛化关系用带空心三角形的直线来表示。
public class Person { protected String name; protected int age; public void move() { …… } public void say() { …… } } public class Student extends Person { private String studentNo; public void study() { …… } }
实现关系
是用来规定接口和实线接口的类或者构建结构的关系,接口是操作的集合,而这些操作就用于规定类或者构建的一种服务。
public interface Vehicle { public void move(); } public class Ship implements Vehicle { public void move() { …… } } public class Car implements Vehicle { public void move() { …… } }
参考链接
[1]https://blog.csdn.net/hguisu/article/details/7609483
[2]https://blog.csdn.net/u014470581/article/details/62036457
[3]https://design-patterns.readthedocs.io/zh_CN/latest/read_uml.html
[4]https://www.jianshu.com/p/c92a22babc95
以上是关于类之间的关系的主要内容,如果未能解决你的问题,请参考以下文章