我定义了一个父类(super class),如下;
public class superClass{
private superClass superObj;
public superClass() {
}
public superClass(superClass superObj) {
this.superObj = superObj;
}
public start()...
public receive()..
我的子类就像;
public class subclass extends superclass {
@Override
public receive(){
........
}
public static void main(String args[]){
Superclass superTst = new Superclass(new subclass());
superTst.start();
...
}
在这里,我的子类实际上与父类(super class)并不是“is-a”关系。但我想这样扩展,因为,在父类(super class)中我做了一些处理输出(父类(super class)产生新线程并进行处理,所以我可以在父类(super class)中获取输出),这些输出必须由子类访问。
这在理论上正确吗?
最佳答案
我不会这样做。如果子类依赖于父类(super class),则在那里进行依赖注入(inject)。将会更加清楚什么是依赖关系并保持单一责任原则。对不能代替其父类(super class)的东西进行子类化最终只会造成困惑,并且意味着您正在紧密耦合实现。
关于java - 将父类(super class)实例传递给其构造函数是否是更好的做法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36995651/