我会把
Resident
类并使用属性/setter
.resident
这样地:
class House:
def __init__(self):
self.someattribute = <someattribute>
self._resident = None
@property
def resident(self):
return self._resident
@resident.setter
def resident(self, surname):
r = Resident(surname)
self._resident = r
class Resident:
def __init__(self, surname):
self.surname = surname
但是,如果你想的话
居民
为了能打电话,同时也想追踪房子的居民,你仍然可以把
居民
类和用法:
class House:
def __init__(self):
self.someattribute = <someattribute>
self.residents = []
def resident(self, surname):
'''
Add a resident to the house
'''
r = Resident(surname)
self.residents.append(r)
return r
class Resident:
def __init__(self, surname):
self.surname = surname