擅长:python、mysql、java
<p>在这种情况下,我认为您应该使用继承(解决方案2)。在</p>
<p>因为<code>Restaurant</code>是一个特殊的<code>Place</code>,意味着餐厅有<code>name</code>和{<cd4>},另外,餐厅有{<cd5>}和{<cd6>}。在</p>
<p>综上所述,所有的解决方案都是合理的。但是,<code>Restaurant</code>是<code>Place</code>,<code>Restaurant</code>必须作为<code>Place</code>处理。
在解决方案1中,<code>Restaurant</code>和<code>Place</code>是分开的,不能将<code>Restaurant</code>作为<code>Place</code>来处理(只考虑OOP)</p>
<p>另一方面,在解决方案1中,如果我用地址a保存一个<code>Place</code>,然后添加一个具有相同地址的<code>Restaurant</code>。我把同一个地址保存在数据库中两次,这导致了冗余和不一致。在</p>
<hr/>
<p>这个问题与OOP中组合和继承的不同是相似的。在</p>