【发布时间】:2018-08-08 07:03:52
【问题描述】:
我想用 Java 创建一个模拟库的迷你应用程序。我创建了一个名为Book 的类,它具有以下属性:
public class Book {
private final String ISBN;
private String title;
private String author;
private String domain;
private int numberOfPages;
}
我想再添加两个属性:stock 和 price。但这些属性与真正的书没有直接关系(如 ISBN 或 title),所以我不知道在哪里添加它们:在 Book 或其他上课...
一个想法是创建一个名为 BookView 的新类(不确定它是否是最佳名称)并添加如下属性:
public class BookView {
private Book book;
private short stock;
private float price;
}
另一个想法是扩展 Book 并创建一个 BookWithDetails 子类来添加股票和价格,但我不确定继承是否适合这种情况:
public BookWithDetails extends Book {
private short stock;
private float price;
}
对于此类情况,最好的方法是什么?
【问题讨论】:
-
“存货”是指有多少本书?
-
库存将表示存储库中有多少此类书籍。 示例:10 本书 Thinking in Java,第 4 版
-
所以管理类只针对某种类型的书,对吧?所有书的标题都一样吗?
-
是的,你没看错。股票和价格描述了一本特定的书。例如,10 个 Thinking in Java,每个 50 美元。
-
您的 BookView,也许更好地命名为 BookStock,是要走的路。
标签: java oop architecture composition