基类属性是否应由Derived类控制

时间:2016-02-11 00:27:52

标签: java oop

我目前正在设计一些系统,如果用派生类控制基类属性是正确的,我会感到困惑。

例如:

Class Building {
   String name;
   String[] facilities;
}

Class OfficeBuilding extends Building{

}

Class ResidentialBuilding extends Building {
}

//建筑物控制属性的类型,如此处的设施,默认为空。它应该是Derived类的一部分还是应该保留Base类的一部分,派生类应该只覆盖它的值?

要记住的事情: 1)。所有类都是数据类。 2)。基类设施属性始终为空并由子类控制。

感谢。

1 个答案:

答案 0 :(得分:0)

有多个解决方案。不知道你的用例我会说名称和设施可以由父类完全管理,甚至不能直接从子类访问(只能通过构造函数/某些方法)。我还将设施存储为列表:

user