0
大きなオブジェクトを扱うにはどうしたらいいですか?私の例では、私は多くの属性またはIで1つのインスタンスを作成する一つの大きなクラスを持っている可能性ができたグループ一緒にそれらのいくつか(クラス車とクラスモーターを参照してください):大きなオブジェクトをインスタンス内の小さなサブオブジェクトに分割します
class Car(object):
color = "red"
def __init__(self, num_wheels):
self.burst = Motor(self)
self.wheels = num_wheels
for i in range(self.wheels):
setattr(self, "wheel{}".format(i), Wheel(self, i))
def _query(self, value):
print "Get Serial Data: {}".format(value)
class Motor(object): # Object is loaded only once in Car instance
def __init__(self, top):
self._top = top
def temperature(self):
return self._top._query("GET MOTOR TEMP")
def rpm(self):
return self._top._query("GET MOTOR RPM")
class Wheel(object): # Object could be loaded many times in Car instance
def __init__(self, top, number):
self._top = top
self._number = number
def temperature(self):
return self._top._query("GET WHEEL TEMP {}".format(self._number))
def rpm(self):
return self._top._query("GET WHEEL RPM {}".format(self._number))
私は時に車これも、より理にかなっていると思いますホイールを増やすことができるので、複数のホイールがあります。から
class Car(object):
color = "red"
def __init__(self, num_wheels):
# Add wheels or other stuff
def _query(self, value):
print "Get Serial Data: {}".format(value)
def motor_temperature(self):
return self._query("GET MOTOR TEMP")
def motor_rpm(self):
return self.._query("GET MOTOR RPM")
私はCar._queryを(アクセスする必要があります):
しかし、モーターが複数回、決してそれがカークラスにそれらを置くために、より良いスタイルであり、それ以外の使用に使用されることはありませんので、車輪および/またはモータークラスと私の実生活オブジェクトには約4つのサブインスタンスでグループ化できる約40の属性とメソッドが含まれています。ウェブ上でこのトピックについて多くを見つけることができませんでした。