super() ব্যাখ্যা করার আগে মাল্টিপল ইনহেরিটেন্স (Multiple Inheritance) কনসেপ্ট জানতে হবে।
মাল্টিপল ইনহেরিটেন্স: অর্থাৎ একটি চাইল্ড ক্লাস একাধিক প্যারেন্ট ক্লাস থেকে ইনহেরিট করতে পারে।
নিচের উদাহরণে চাইল্ড ক্লাস প্যারেন্ট ক্লাস থেকে অ্যাট্রিবিউট ও মেথড ইনহেরিট করেছে।
উদাহরণ
class Father:
fathername = ""
def father(self):
print(self.fathername)
class Mother:
mothername = ""
def mother(self):
print(self.mothername)
class Child(Father, Mother):
def parent(self):
print("Father:", self.fathername)
print("Mother:", self.mothername)
s1 = Child()
s1.fathername = "Srinivas"
s1.mothername = "Anjali"
s1.parent()
আউটপুট
Father: Srinivas Mother: Anjali
নিচের উদাহরণে super() কীভাবে মাল্টিপল ইনহেরিটেন্সের সাথে কাজ করে তা দেখানো হলো।
super(): super ফাংশনটি এক্সপ্লিসিট কলের 대신 ব্যবহার করা যায়।
উদাহরণ
class Father:
fathername = ""
def father(self):
print(self.fathername)
class Mother:
mothername = ""
def mother(self):
print(self.mothername)
class Child(Father, Mother):
def parent(self):
super().__init__()
print("i am here")
print("Father:", self.fathername)
print("Mother:", self.mothername)
s1 = Child()
s1.fathername = "Srinivas"
s1.mothername = "Anjali"
s1.parent()
আউটপুট
i am here Father: Srinivas Mother: Anjali