私はお互いに拡張する3つのクラスを持っています。Python:子クラスのコンストラクタ引数で親のクラスパラメータを取得する方法
class GeometricObject:
def __init__(self):
self.lineColor = 'black'
self.lineWidth = 1
def getColor(self):
return self.lineColor
def getWidth(self):
return self.lineWidth
class Shape(GeometricObject):
def __init__(self, color):
self.fillColor = color
class Polygon(Shape):
def __init__(self, cornerPoints, lineWidth = ?, lineColor = ?):
self.cornerPoints = cornerPoints
self.lineColor = lineColor
self.lineWidth = lineWidth
ここでは簡単な質問があります。私はlineWidthとlineColorの値をデフォルトにし、それをGeometricObjectクラスで与えられた値に設定したいと思います。私はそれをデフォルトしない場合、私は常に3つのパラメータをPolygonクラスのコンストラクタに渡す必要があります。そしてこれが私が避けようとしていることです。 lineWidthとlineColorが渡されない場合、値はデフォルトで設定されます。
提案がありますか?
サイドノート:何falsy値は
Polygon
で許可されていない場合、then文を置き換えることができるならば、なぜ 'GeometricObject'は' lineWidth'パラメータとして 'lineColor'を取りませんか?なぜ孫だけがカスタマイズするのですか?また、Pythonでは 'camelCase'ではなく' snake_case'を使うべきです。 –