【发布时间】:2015-10-07 20:43:06
【问题描述】:
例如,
public class Folder {
// ...
private List<Subfolder> subfolders;
}
和
public class Subfolder extends Folder {
// ...
}
如果我理解正确,Subfolder 将继承 Folder 超类的所有字段,包括它的 List<Subfolder>。但是,因为列表是 Folder 私有的,并且只要我不为列表编写任何访问器或修改器方法,我可以放心 Subfolder 将无法对 Folder 做任何事情的子文件夹列表。我感到矛盾的是这是否被认为是好的设计。如果Subfolder 无法访问Folder 的子文件夹列表,为什么还要继承它?
【问题讨论】:
-
您想要这种设计的原因是什么。你不能在 Folder 类中有一个文件夹列表吗?
标签: java oop inheritance