考虑以下:
public abstract class Item {
String name;
String description;
//concrete getters and setters follow
}
public class InventoryItem extends Item {
//empty subclass of Item
}
public class CartItem extends Item {
int quantity;
int tax;
//getters and setters for quantity and tax follow
}
InventoryItem 表示可供出售的商品,而 CartItem 表示添加到购物车中的商品,因此它具有额外的属性,例如数量和税金。在这种情况下可以有一个抽象类 Item 的空子类吗?
选项 2:我们可以有一个空的 Item 接口。InventoryItem 将实现 Item 并定义名称和描述属性,并具有 getter 和 setter。CartItem 将从 InventoryItem 扩展,并将数量和税收定义为属性,并具有 getter 和 setter。
选项3:有一个Item界面会更好吗?InventoryItem 将实现 Item。然后我们可以有一个 CartItem 类,它“有一个”项目和两个属性,即税和数量