我有一个大类Admin
,该类有太多具有不同功能和不同函数的单独方法,并且对数据库的调用变得越来越难管理,所以我决定拆分它,但现在{{1 }}毫无用处。我想让Admin
继承所有较小的类,但我能想到的唯一方法是通过链继承,如下所示:
Admin
A中没有使用B中的任何方法,但是我想在Admin中使用它们。这听起来像是不好的做法,但我不知道如何以其他方式实现它。
有没有一种方法可以更好地创建此类,而不必将public class Admin extends A {
//code in here
}
public class A extends B {
//code in here
}
public class B extends C {
//code in here
}
中的类中的每个方法都放入
答案 0 :(得分:0)
如果您具有跨对象行为,而该行为不是通过当前继承树继承的,则应将此行为与树隔离(分离),并根据需要使其可注入。您可以从定义一个描述这些行为的接口开始,并在特定对象具有这些行为时实现它。
例如,您可以拥有:
public interface Capable{
public void doThis();
public void doThat();
}
并说B应该具有此行为规范,而A没有,您可以这样做:
public class B extends A implements Capable {
//some other stuff
public void doThis(){..}
public void doThat(){..}
}