擅长:python、mysql、java
<p><code>Room</code>不是<code>Building</code>==>;<code>Room</code>不应是<code>Building</code>的子类。<br/>
一个<code>Building</code>有很多<code>Room</code>==>;使用组合。在</p>
<p>一种可能的方法是让每个<code>Building</code>都有一个<code>Room</code>的集合</p>
<pre><code>class Building:
def __init__(self, name, location):
self.name = name
self.location = location
self.rooms = [] # or a set as in @Abamert's reply
# or dict if you want to address it by floor and number, maybe?
def add_room(self, room):
self.rooms.append(room)
class Room:
def __init__(self, name, model):
self.name = roomName
self.model = model
</code></pre>
<p>也可以让房间保存对其所在建筑的参照;该参照可以是在向建筑添加房间时指定的属性:</p>
^{pr2}$