尝试在Java项目中实现通用和继承类。因此,我创建了“Base”类和接口,这些类和接口将继承所有特定的类和接口。
我的意思是,我有一个基础接口。
我的意思是,我有一个基础接口。
public interface BaseServices<T> {
public boolean validate(T item, int id) throws Exception;
}
同时提供该接口的基础实现
public class BaseServicesImpl implements BaseServices<BaseBO> {
@Autowired
BaseDao dao;
CategoryBO bo;
public BaseServicesImpl()
{
this.bo = new CategoryBO();
}
@Override
public boolean validate(BaseBO item, int id) throws Exception {
return dao.validate("name",item.toString(), id);
}
}
BaseBO是所有其他对象都将扩展的业务对象。
然后,针对特定对象,我将有一个特定的接口,该接口扩展了基本接口。
public interface CategoryServices extends BaseServices {
}
实现方式:
public class CategoryServicesImpl extends BaseServicesImpl implements CategoryServices<CategoryBO> {
@Autowired
CategoryDao categoryDao;
public CategoryServicesImpl()
{
this.dao = categoryDao;
}
@Override
public boolean validate(CategoryBO item, int id) throws Exception {
return dao.validate("name",item.getName(), id);
}
}
在某些对象中,可以实现通用的“验证”方法(仅验证名称)或将其扩展到类所需的内容。
public class CategoryServicesImpl extends BaseServicesImpl implements CategoryServices。如何使此功能正常工作?是否可能?我正在尽力重用我的代码,请告诉我是否还有其他方法。
编辑:我想做的是拥有一个基类,其中包含所有类的公共方法,例如创建、编辑、删除、获取、getAll等基本方法。然后在每个类中,我也可以为这些方法提供并覆盖,因为在某些类中它们将是不同的,但在大多数情况下,它们将只执行相同的操作,因此它们将调用在基类中定义的通用方法。