gpt4 book ai didi

java - 将父类(super class)实例传递给其构造函数是否是更好的做法?

转载 作者:行者123 更新时间:2023-12-01 09:58:29 24 4
gpt4 key购买 nike

我定义了一个父类(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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com