gpt4 book ai didi

java - 扩展抽象类 - 实现抽象方法

转载 作者:行者123 更新时间:2023-12-01 06:39:19 27 4
gpt4 key购买 nike

问候并致意!

我目前有一个抽象类 A,以及许多它的子类。该代码对于我放入 oneMethod() 中的所有子类都是通用的,并且特定于我放入两个抽象方法中的每个实现的代码。

public abstract class AbstractA {
public oneMethod() {
//do some intelligent stuff here
abstractMethodOne();
abstractMethodTwo();
}
protected abstract void abstractMethodOne();
protected abstract void abstractMethodTwo();
}

我有一个重写 oneMethod() 方法的类。

public class B extends AbstractA {
@Override
public oneMethod() {
//do some other intelligent stuff here
}
}

有没有办法跳过在子类中对两个抽象方法进行 stub 实现?我的意思是它们唯一使用的地方是在重写的方法中。

感谢任何帮助!

最佳答案

没有。如果扩展抽象类,则必须使子类抽象,或者它必须履行父类的契约。

作为设计观察,我建议您尝试将 oneMethod() 设置为最终的或抽象的。维护允许扩展您的实现方式的程序是很困难的。使用其他抽象方法为子类提供 oneMethod() 功能的 Hook 。

关于java - 扩展抽象类 - 实现抽象方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18360873/

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