java - 继承、 protected 或设置者、获取者

标签 java inheritance

我有基础类.Animal(抽象) 一些类(狗,猫......)扩展了这个类。 我有一些值(value)观,这些值(value)观必须存在于每一个动物身上。 狗,猫中的某些函数...使用这些值,有时会更改它们。 我想是否需要在 Animal getter 和 setter 中创建此值或将此值保护起来。有什么好的方法可以做到这一点。 其中一些值也必须初始化。有没有办法将这些值抽象化?

最佳答案

我将在 Animal 中保护这些属性,以便可以在子类(Dog 和 Cat)中直接引用它们,但可以在其他任何地方访问公共(public) getter 和 setter。

public abstract class Animal {
    protected String species;
    ...
    public String getSpecies(){
        return species;
    }
    public void setSpecies(String species){
        this.species = species;
    }
}

关于java - 继承、 protected 或设置者、获取者,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22944943/

相关文章:

java - MulticastSocket 失败后没有响应

java - JSF h :inputText validation and f:ajax render

java - Orders 和 Employee 之间的 JPA 关系

Java:提供类的过滤 View

c++ - 使用 DLL 覆盖/修改 C++ 类

java - Visual Studio代码:摆脱“终端”中的其他文本

c++ - 传递给接受基类的函数的变量是否仍然保留它们最派生的类?

c++ - 从 std::function 继承构造函数时为 "function returning a function"

java - 访问子类字段会导致编译器错误

css - SVG 属性和特性