【发布时间】:2016-06-23 14:30:59
【问题描述】:
编写一个程序,该程序具有以产品类开头的多个类。还有继承产品类的计算机、软件和立体声类。笔记本电脑和台式机类继承计算机以及家庭影院和汽车音响,它们继承了 Stereo 类。 该程序应允许您输入新产品并将其保存到数据库中。根据文件中的记录数,每个产品都有一个唯一的 ID 号。在详细信息选项卡上,您可以查看文件中的每条记录,查看每个产品的详细信息,甚至可以修改记录。
我做了什么 -
在DTO包中,
public interface Product {
public int productId();
public String name();
public int price();
public String type();
public void setName(String name);
public void setPrice(int price);
}
然后.. 我将计算机作为抽象类来扩展 Product(I),台式机和笔记本电脑正在扩展计算机并覆盖 product(I) 的所有方法。同样,我为立体声做了。
然后,在DAO包中
public interface ProductDao {
public boolean addProduct(Product product);
public boolean deleteProduct(int productId);
public boolean updateProduct(int productId);
public void retrieveAll();
}
然后我在 ProductDaoImpl 类中实现了这些方法。我的程序运行良好。 但是我的设计呢?这是正确的吗 ? 如果没有,请给我推荐一个更好的设计。
【问题讨论】:
-
检查这个:tutorialspoint.com/design_pattern/… 应该可以帮助您理解这一点。
-
不确定为什么您的 retrieveAll() 方法会返回 void,但除此之外,我认为您的设计没有重大问题。您对此结构及其工作原理是否有具体问题?否则这个问题有点太宽泛了。
-
这很简单直接,我认为stackoverflow不适合发布这样的内容,或者你有什么问题?
标签: java oop design-patterns interface abstract-class