继承,受保护或制定者,吸气剂

时间:2014-04-08 18:09:27

标签: java inheritance

我有基础类。动物(抽象) 一些班级(狗,猫......)扩展了这门课程。 我有一些必须存在于动物的每个物体中的价值观。 dog,cat中的某些功能...使用此值并有时更改它们。 如果我需要在Animal getter&设置此值或将此值保护。这样做的好方法是什么。 还有一些这个值必须初始化。有没有办法做这个值absract?

3 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:0)

将值放在Animal类中,并创建公共getter和setter。这些将在所有狗,猫,鱼等上提供

答案 2 :(得分:0)

使用getter和setter,它是标准的Java方法,消除了变量来自何处的混淆,并允许父类做任何他们需要对值进行的前/后处理(例如验证)设置或延迟初始化获取)。此外,在很多面向方面的编程中(如果你使用或计划使用Spring很重要)依赖于方法调用拦截,使用getter和setter也会有帮助。