码迷,mamicode.com
首页 > 其他好文 > 详细

类之间的关系

时间:2020-03-11 01:32:16      阅读:73      评论:0      收藏:0      [点我收藏+]

标签:sof   xtend   family   基类   lock   hellip   splay   adt   doc   

依赖关系

  依赖指的是类之间的调用关系,一个类调用了另一个类的服务(方法)。如果类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

 

类之间的关系

标签:sof   xtend   family   基类   lock   hellip   splay   adt   doc   

原文地址:https://www.cnblogs.com/wangke0825/p/12459863.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!