父级中的 Java 方法占位符可在子级中使用

标签 java methods placeholder

我需要帮助来创建一个java方法,我需要在父级中创建一个没有任何返回的方法,并在具有不同条件的子级中使用相同的方法。我知道有一种方法可以做到这一点,但我不记得了,任何帮助将不胜感激。

public abstract class Property // this is the class name, which is parent 

这就是我应该做的

public abstract double calculateTax()
{
    return ;
}

我对 child 使用同样的方法,但这是我必须改变的标准

计算商业地产税(第一个 child )

如果平方英尺大于 1500,则如果州代码为 TX,则税收为市场值(value) * .25,否则税收为市场值(value) * .20 否则,如果平方英尺小于或等于 1500,则税收为市场值(value)值 * .10

计算住宅属性(property)税

是 0.5 * 市场值(value),如果洪泛区是真实的,税收是额外的 10%。

我知道我缺少数据,但我只是想知道如何的概念

最佳答案

使用抽象类的简单示例,同时牢记 Open/Closed principle 是这样的:

abstract class A {
  protected abstract String getFoo();
  public final bar() {
    System.out.println("The foo: " + getFoo());
  }
}

class B extends A {
  @Override
  protected String getFoo() { return "whatever"; }
}

这里的想法:

  1. 您使用抽象方法声明来指示扩展类必须为此类方法“添加”行为。
  2. 准确地说:声明为抽象的方法没有有主体。没有声明,没有返回,什么都没有!
  3. 您仍然“固定”您想要在基类中拥有的行为......就在那里。并且您可以阻止子类改变该行为。

在我的示例中,抽象方法返回一个字符串;只是为了让这个例子更有意义。当然,抽象方法可以具有您希望它们具有的任何签名。郑重声明:当重写子类中的方法时,不要忘记添加 @Override 注释!

关于父级中的 Java 方法占位符可在子级中使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39443068/

相关文章:

java - 将 XML Schema 模式转换为 Java 正则表达式

java - Hibernate 延迟加载应用程序设计

android - 静态方法与扩展 android.app.Application 的类?

function - 在 Dart 中调用带有参数数组的函数

JAVA猜数游戏使用方法: method for play again does not work properly

Java:访问xml节点属性值

java - 如何在 Java 中拆分字符串,包括空格(就像在 Python 中一样)

css - 占位符文本在Safari中的textarea中用完了吗?

java - Osgi 属性占位符

C 格式的字符串 - 如何将前导零添加到 float 和 int 值?