小编Sac*_*hin的帖子

使用源代码区分聚合和组合关系

是否可以通过阅读源代码来区分组合和聚合关系?

我试图找到一些模式,我在下面列出了它们.

我从这个网站上的例子 只是为了解释我认为是一种模式

组成

在此输入图像描述

 public class Engine
{
    . . . 
}

public class Car
{
   Engine e = new Engine();
    .......
}
Run Code Online (Sandbox Code Playgroud)

聚合

在此输入图像描述

public class Address
{
. . .
}

public class Person
{
   private Address address;
   public Person(Address address)
   {
     this.address = address;
   }
   . . .
}
Run Code Online (Sandbox Code Playgroud)

我发现这些模式可以区分

组成(是其中的一部分)

  1. 定义为一个类的字段.

    • 示例:[Engine e] Engine定义为Car类的字段e
  2. 在类中实例化和分配.

    • 示例:[Engine e = new Engine();]引擎在类中实例化

聚合(有)

  1. 定义为一个类的字段

    • 示例:[private address address;] Address定义为Person类的字段地址
  2. 在课堂上安排好了

    • 示例:[Address address = new Address();]地址在Person外部实例化. …

uml class-diagram

5
推荐指数
1
解决办法
3223
查看次数

标签 统计

class-diagram ×1

uml ×1