对于某个功能建筑,我们有一些孩子(Tower,Mansion,Hut等)继承了Building的方法。
这些方法可以是:
setName()
setColor(color)
setSize(x,y)
(...)
问题是当我在这个基础建筑对象中开始有太多方法时。但是,我知道所有Huts,Mansions等都必须有这些方法。
对于幼稚的继承,每个Hut,Mansion等对象将只有很少的方法,并且包含的唯一方法是需要"覆盖"基础建筑方法。
所以,如果我赞成组合优于继承并试图让每个建筑类型都有自己的零件组成,我怎样才能使它尽可能干净?
我是否必须浏览每个Building类型并编写以前在Building对象中的每个原型方法?
另外,Mansion对象组成的是什么?它不是继承Building,而是只包含一个Building对象作为其中一个部分?