我有2个对象,user和userevent ...我有两个共同的7个方法.. User和userevent是不同的对象,只有很少的匹配参数..
如何使用泛型实现这一点,以便我可以为user和userevents重用这些方法?方法接受user或userevent或者两个对象作为参数..
答案 0 :(得分:1)
为什么不使用界面?
User和UserEvent类都将实现此接口。常用方法将在接口中声明,并在两个类中重写。 至于方法,它们将接受任何实现新创建的接口的对象作为参数。
答案 1 :(得分:0)
如果我理解正确,请检查我为dao对象编写的示例
public interface IDao<T> {
void saveOrUpdate(T instance);
Long save(T instance);
void delete(T instance);
T get(Long id);
}
public class BasicHibernateDao<T> extends HibernateDaoSupport implements IDao<T> {
private final Class<T> clazz;
public BasicHibernateDao(Class<T> clazz) {
this.clazz = clazz;
}
public void saveOrUpdate(T instance) {
getHibernateTemplate().saveOrUpdate(instance);
}
public Long save(T instance) {
return (Long) getHibernateTemplate().save(instance);
}
public void delete(T instance) {
getHibernateTemplate().delete(instance);
}
public T get(Long id) {
return getHibernateTemplate().get(clazz, id);
}
}
public class ClientDao extends BasicHibernateDao<Client> {
public ClientDao() {
super(Client.class);
}
}
希望这个类比对你有帮助