Skip to content

Commit

Permalink
Update 01-What-is-an-Object.md
Browse files Browse the repository at this point in the history
图中是三角形而非菱形
  • Loading branch information
yngwiewang authored Jul 31, 2019
1 parent 4ec9fb5 commit e2f302a
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion docs/book/01-What-is-an-Object.md
Original file line number Diff line number Diff line change
Expand Up @@ -104,7 +104,7 @@ Java 有三个显式关键字来设置类中的访问权限:`public`(公开

![UML-example](../images/1545758268350.png)

上图中实心菱形指向**Car** ”表示 **组合** 的关系;如果是 **聚合** 关系,可以使用空心菱形
上图中实心三角形指向**Car** ”表示 **组合** 的关系;如果是 **聚合** 关系,可以使用空心三角形

**译者注**:组合和聚合都属于关联关系的一种,只是额外具有整体-部分的意义。至于是聚合还是组合,需要根据实际的业务需求来判断。可能相同超类和子类,在不同的业务场景,关联关系会发生变化。只看代码是无法区分聚合和组合的,具体是哪一种关系,只能从语义级别来区分。聚合关系中,整件不会拥有部件的生命周期,所以整件删除时,部件不会被删除。再者,多个整件可以共享同一个部件。组合关系中,整件拥有部件的生命周期,所以整件删除时,部件一定会跟着删除。而且,多个整件不可以同时共享同一个部件。这个区别可以用来区分某个关联关系到底是组合还是聚合。两个类生命周期不同步,则是聚合关系,生命周期同步就是组合关系。)

Expand Down

0 comments on commit e2f302a

Please sign in to comment.