【发布时间】:2014-06-18 07:02:51
【问题描述】:
我正在尝试学习 UML 概念及其在 Java 编程中的应用。我知道关联、共享聚合和组合概念。我感到困惑的是它们如何应用于特定场景。例如如果我们有一组三个类:Book、Author 和 Publisher,我们如何应用这些概念。
Book.java
class Book {
private String ISBN;
private String category;
private Publisher publisher;
private ArrayList<Author> authors;
}
作者.java
class Author {
private String authorName;
private String phoneNo;
private String email;
private ArrayList<Book> books;
}
Publisher.java
class Publisher {
private String publisherName;
private String publisherAddress;
private ArrayList<Book> books;
}
这些仅仅是联想吗?可以说Publisher和Book之间的关系是共享聚合的吗? Book-Author 之间的多对多关系呢?
在我看来,Publisher-Book 是一个共享聚合,Book-Author 是一个简单的关联。如果会有一个章节类,与一本书相关,那就是作文。我的理解是否正确?
【问题讨论】:
标签: java oop uml aggregation composition