আমি অজগরটির প্রবীন। আমি উত্তরাধিকার বুঝতে পারি না এবং __init__()
।
class Num:
def __init__(self,num):
self.n1 = num
class Num2(Num):
def show(self):
print self.n1
mynumber = Num2(8)
mynumber.show()
ফলাফল: 8
এটা ঠিক আছে. কিন্তু আমি প্রতিস্থাপন Num2
সঙ্গে
class Num2(Num):
def __init__(self,num):
self.n2 = num*2
def show(self):
print self.n1,self.n2
ফলাফল: Error. Num2 has no attribute "n1".
এই ক্ষেত্রে, Num2
অ্যাক্সেস করতে পারেন কিভাবে n1
?
__init__
কোনও উত্পন্ন শ্রেণিতে কোনও পদ্ধতির সংজ্ঞা দেওয়া হয় না , এটি উত্তরাধিকার সূত্রে প্রাপ্ত হয়। কারণ "যদি অনুরোধকৃত বৈশিষ্ট্যটি শ্রেণিতে না পাওয়া যায় তবে সন্ধানটি বেস শ্রেণিতে সন্ধান করতে এগিয়ে যায়।" (ডক)