擅长:python、mysql、java
<p>听起来你说的是<em>聚合</em>。类的每个实例可以包含<code>player</code>的零个或多个实例,而<code>Airplane</code>的实例又可以包含<code>Flight</code>的零个或多个实例。您可以在Python中使用内置的<code>list</code>类型来实现这一点,从而用数字来保存命名变量。</p>
<pre><code>class Flight(object):
def __init__(self, duration):
self.duration = duration
class Airplane(object):
def __init__(self):
self.flights = []
def add_flight(self, duration):
self.flights.append(Flight(duration))
class Player(object):
def __init__ (self, stock = 0, bank = 200000, fuel = 0, total_pax = 0):
self.stock = stock
self.bank = bank
self.fuel = fuel
self.total_pax = total_pax
self.airplanes = []
def add_planes(self):
self.airplanes.append(Airplane())
if __name__ == '__main__':
player = Player()
player.add_planes()
player.airplanes[0].add_flight(5)
</code></pre>