コードを呼び出す:まあ、私はこれらの4つのクラスを持っている継承を使用し、他のクラスに
class aa:
def getDis():
return 0
class bb(aa):
def getDis():
return 10
class cc(aa):
def getDis():
return 15
class d:
def __init__(self,cust):
self.cust = cust
self.memberLevel = aa()
def cgl(self,amt):
if amt ==1:
self.memberLevel = bb()
elif amt ==2:
self.memberLevel = cc()
else:
self.memberLevel = aa()
を。私がしようとしているのは、私の上位3つのクラスには私が継承しているということです。私のクラスでは、金額が1 0 2であればそれぞれのメソッドを呼び出そうとしています。代わりに、それは私に、この出力を与えている:
d1 = d('one')
d1.cgl(1)
print(d1.memberLevel)
出力:
<__main__.bb object at 0x036D7BF0>
を、どのように私は技術をオーバーライド使用できることが求め助けます。
代わりに何を期待していましたか?ここで継承はどのように関連していますか? – jonrsharpe
意図どおりにすべてが機能しているようですか?あなたが 'print(d1.memberLevel)'から期待していた出力は、実際には何も呼び出されていないので、 'cgl'のインスタンスを作成しているのですか? – UnholySheep
トップクラスのクラスで継承しています。メソッドオーバーライド。あなたが私のクラスで見れば、私はクラスのメソッドがそれぞれ1または2であればそれを呼び出しています。クラスbbの関数から答えを得る必要があります。 – Kam