Python'a başladım. Kalıtımı anlayamıyorum ve __init__()
.
class Num:
def __init__(self,num):
self.n1 = num
class Num2(Num):
def show(self):
print self.n1
mynumber = Num2(8)
mynumber.show()
SONUÇ: 8
Tamamdır. Ama yerini Num2
ile
class Num2(Num):
def __init__(self,num):
self.n2 = num*2
def show(self):
print self.n1,self.n2
SONUÇ: Error. Num2 has no attribute "n1".
Bu durumda nasıl Num2
erişilir n1
?
__init__
türetilmiş bir sınıfta bir yöntem tanımlanmadığında neden miras alındığını açıklamak için yeterli değildir . Bunun nedeni, "sınıfta istenen bir öznitelik bulunmazsa, arama temel sınıfa bakmaya devam eder." (doc)