私はC ++を学んでいるので、C ++プログラミングの複数のコンストラクターに問題はありません。
後で考えてみると、Pythonにはswitchステートメントがないことに突然気づきました。柔軟性を十分に発揮
させるために、コードを簡潔にするために、同じ代わりに辞書を使用してください 。コンストラクターは1つだけです。最長のパラメーターリストは他のコンストラクターをカバーします。
可変長パラメーターが必要な場合、デフォルト値を使用して数を達成します。つまり、同じ名前の関数を1つだけ使用するだけで十分です。Pythonコードは非常に簡潔です
が、欠点は複数のオーバーロードされた関数が定義されていても、コンパイル中に呼び出しはありません。エラーは報告されません。呼び出しパラメーターが少ない場合にのみ、関数がオーバーロードされたときに報告されます。
class stu(object):
print ('stu')
#默认值构造函数
def __init__(self, stuID,stuType='Primary'):
self.ID=stuID
self.Type=stuType
def display(self):
print(self.ID,self.Type)
#使用默认值实现构造函数的多态
stu1=stu(100)
stu2=stu(200,"midschool")
#stu.display() #不能直接调用类的一般方法
stu1.display()
stu2.display()