我有两个函数A
和B
。他们做同样的事情,只是其中一个做得更细粒度。我需要确保它们永远执行相同的逻辑,也就是说,如果一个函数的功能发生变化,那么另一个函数也应该发生变化。
(我认为)最好的解决方案是创建一个通用函数和一个特定函数。然后让一个函数调用另一个函数。然而,在这种情况下,它需要太多的代码重构,并且为了论证,假设这是不可能的。
是否有一种机制可以让我说,当此代码签名中的任何内容发生更改时,请确保提醒用户查看其他函数?
编辑 #1 @Charles Wood:我正在寻找一种机制来对源代码进行此检测(带有注释或其他内容)。但是实现相同目标的替代方案也很好。
最佳答案
这个怎么样?
class A {
public void func() {
/*some general logic, that you can change further*/
}
}
class B extends A {
@Override
public void func() {
super.func();
/*additional logic_1*/
}
}
class C extends A {
@Override
public void func() {
super.func();
/*additional logic_2*/
}
}
你可以像这样使用它:
A a1 = new B();
A a2 = new C();
关于java - 有没有办法让两个功能保持同步?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24535977/