gpt4 book ai didi

java - Eclipse 重构以将父类(super class)添加到类型层次结构中

转载 作者:太空宇宙 更新时间:2023-11-04 10:28:43 26 4
gpt4 key购买 nike

我已阅读重构手册中列出的不同选项 here但我不认为那里有我想要的东西。

我有一个包含许多批处理作业的项目,这些作业是扩展 org.quartz.Job 的类,我当然无法对其进行更改。当我发现自己在每个作业中编写一堆相同的代码来执行特定于我的系统的操作时,很明显我应该有一个抽象类,它是所有批处理作业的父级并执行这些特定于系统的任务,让我们称之为 org.mycompany.MySystemJob ,它将扩展 org.quartz.Job

我本以为这种重构是很容易实现的,所有直接从类 A 扩展的类都从新的类 B 扩展,而新的类 B 由重构创建并扩展 A。

我考虑过“提取父类(super class)”,但这实际上要简单得多,因为这些方法来自单一来源,并且“提取父类(super class)”重构要求您手动添加所有“同级”类,在本例中这些类都已经是真正的同级了。

我知道我可以在类型层次结构中找到所有此类类,然后在每个类上更改一行。当然,这并不难,但在我看来,节省这种手动工作正是重构应该做的。

无论如何,也许我只是想念那里的东西。但愿如此。谢谢。

最佳答案

诀窍是创建一个与库类/接口(interface)具有相同限定名称的类/接口(interface),并且不能更改。如果移动或重命名此类/接口(interface),则最初与库的类/接口(interface)相关的所有引用都会自动更新到这个新创建的类/接口(interface)。

还可以考虑使用 composition over inheritance相反。

关于java - Eclipse 重构以将父类(super class)添加到类型层次结构中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50299759/

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