Animal
,然后有一堆扩展了Animal
的子类。假设我想要一个称为name
的公共字段,在每个子类中也应该存在。在每个子类中包含和初始化这个字段的适当方法是什么?1)将该字段声明为父级中的
protected
,然后在每个子类中初始化它。如果我用这种方法,是否可以将该字段称为super.variable
或简单地称为variable
?对我而言,使用super使得该字段在父级中被声明更加明显。(这是我目前正在做的)2)将该字段声明为父级中的
private
,然后创建getter
和setter
来访问该字段3)只需在每个子类中声明和初始化相同的变量
4)其他我可能忽略的方法?
感谢您的帮助。我明白这个问题相当基础,但我很好奇最正确的风格是什么。
编辑:
我不确定你们是否会看到这个问题,但这是一个跟进的问题。
有没有好的方法确保子类初始化该字段?
name
字段,并将其作为一个抽象方法name()
,必须由子类重写? - arshajii