java - 有没有办法让两个功能保持同步?

标签 java function coding-style

我有两个函数AB。他们做同样的事情,只是其中一个做得更细粒度。我需要确保它们永远执行相同的逻辑,也就是说,如果一个函数的功能发生变化,那么另一个函数也应该发生变化。

(我认为)最好的解决方案是创建一个通用函数和一个特定函数。然后让一个函数调用另一个函数。然而,在这种情况下,它需要太多的代码重构,并且为了论证,假设这是不可能的。

是否有一种机制可以让我说,当此代码签名中的任何内容发生更改时,请确保提醒用户查看其他函数?

编辑 #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/

相关文章:

java - JavaFX 中抛物线轨迹的时间线

java - 私有(private) Void Tick();不工作

php - 如何让 PHP 函数在返回后继续?

java - 在JAVA接口(interface)前放一个大写的 'I'

java - 将现有 WAR 部署到嵌入式 Jetty

java - 如何获取外部包中的异常原因/原因

java - 如何将 Spring bean 注入(inject)到 Exception 中

php - PHP 函数结构的替代方案

python - 使静态方法显式引用该类

coding-style - 方案风格指南