假设我有一个类Animal
,然后是一堆扩展的子类Animal
。假设我想要一个名为的公共字段name
,它也应该存在于每个子类中。在每个子类中包含和初始化该字段的正确方法是什么?
1)将父类中的字段声明为protected
,然后在每个子类中对其进行初始化。如果我这样做,将字段称为super.variable
或简单地引用是否合适variable
?就我个人而言,使用 super 更明显地表明该字段是在父级中声明的。(这是我目前正在做的)
2) 将父级中的字段声明为private
,然后创建getters
并setters
访问该字段
3) 只需在每个子类中声明和初始化相同的变量
4)我缺少的另一种方法?
谢谢您的帮助。我知道这个问题是相当基本的,但我很好奇最合适的风格是什么。
编辑:
我不确定你们是否会看到这个,但这是一个后续问题。
有什么好的方法可以确保子类初始化字段吗?