Python ਇਨਹੈਰਿਟੈਂਸ
- ਪਿਛਲਾ ਪੰਨਾ Python ਵਰਗ/ਆਬਦਾ
- ਅਗਲਾ ਪੰਨਾ Python ਇਟਰੇਸ਼ਨ
Python ਇਨਹੈਰਿਟੈਂਸ
وراثت کے ذریعے، ہم کسی دیگر کلاس کی تمام متد اور اپریٹی کا ورثہ بنا سکتے ہیں。
والد کلاسجس کو وراثت لین والا کلاس کہا جاتا ہے، اس کو بھی بنیادی کلاس کہا جاتا ہے。
نکل کلاسجس کو دیگر کلاس سے وراثت لین والا کلاس کہا جاتا ہے، اس کو بھی نکلا کلاس کہا جاتا ہے。
والد کلاس بنائیج
کسی بھی کلاس کو والد کلاس بن سکتا ہے، لہذا اس کا ڈسکریپشن کی بھی طاقت ہے:
ਇੰਸਟੈਂਸ
ایک نام 'Person' والا کلاس بنائیج، جس میں 'firstname' اور 'lastname' اپریٹی اور 'printname' متد شامل ہیں:
class Person: def __init__(self, fname, lname): self.firstname = fname self.lastname = lname def printname(self): print(self.firstname, self.lastname) # Person استفاد کیتیم تا یک شیء ایجاد کیتیم، سپس printname روش رو استفاد کیتیم: x = Person("Bill", "Gates") کلاس Student استفاد کیتیم تا یک شیء ایجاد کیتیم، سپس printname روش رو استفاد کیتیم:
فرزند کلاس ایجاد کیتیم
اگر آپ میخوایس کمیتو یا روشهای دیگه از کلاس دیگه وراثت بگیرد، پدر کلاس رو به عنوان پارامتر به کلاس فرزند ارسال کیتیم:
ਇੰਸਟੈਂਸ
کلاس Student ایجاد کیتیم، اوتوماتیک کمیتو و روشهای کلاس Person وراثت کیتیم:
class Student(Person): فونکشن آپ رو فرزند کلاس اضافه کیتیم (نه
وقتی آپ __init__() فونکشن اضافه کیتیم، فرزند کلاس دیگه پدر کلاس __init__() فونکشن وراثت نمیکنه.اگر آپ میخوایس کمیتو یا روشهای دیگه به کلاس اضافه نکنید، استفاد کلمه کلیدی: فونکشن آپ رو فرزند کلاس اضافه کیتیم (نه
کلاس Student ایجاد کیتیم، اوتوماتیک کمیتو و روشهای کلاس Person وراثت کیتیم:
اگر آپ به کلاس کمیتو یا روشهای دیگه اضافه نکنید، استفاد کلمه کلیدی:
ਇੰਸਟੈਂਸ
کلمه کلیدی.
حالا، کلاس Student کمیتو و روشهای کلاس Person رو داره. کلاس Student استفاد کیتیم تا یک شیء ایجاد کیتیم، سپس printname روش رو استفاد کیتیم:
x = Student("Elon", "Musk")
x.printname()
__init__() کمیتو اضافه کیتیم آپ چاہوید، ما تا حالا فرزند کلاس ایجاد کیتیم، پدر کلاس کمیتو و روشها وراثت کیتیم.
__init__() فونکشن آپ رو فرزند کلاس اضافه کیتیم (نه
pass
وقتی آپ __init__() فونکشن اضافه کیتیم، فرزند کلاس دیگه پدر کلاس __init__() فونکشن وراثت نمیکنه.کلمه کلیدی).
ਇੰਸਟੈਂਸ
هر بار که آپ کلاس رو استفاد کیتیم تا یک شیء جدید ایجاد کیتیم، __init__() فونکشن اوتوماتیک استفاد میشه.
class Student(Person): def __init__(self, fname, lname): کلاس Student __init__() فونکشن اضافه کیتیم:
# کمیتو و غیره اضافه کیتیم
وقتی آپ __init__() فونکشن اضافه کیتیم، فرزند کلاس دیگه پدر کلاس __init__() فونکشن وراثت نمیکنه.نوتبندی:
فرزند کلاس __init__() فونکشن پدر کلاس __init__() فونکشن وراثت رو اوتوماتیک اضافه میکنه.
ਇੰਸਟੈਂਸ
class Student(Person): def __init__(self, fname, lname): اگر پدر کلاس __init__() فونکشن وراثت رو رکونده، پدر کلاس __init__() فونکشن اوتوماتیک اضافه کیتیم:
Person.__init__(self, fname, lname)
اوتوماتیک وراثت فرمودیم، __init__() فونکشن اوتوماتیک اضافه کیتیم، پدر کلاس وراثت رو رکونده، اوتوماتیک __init__() فونکشن اوتوماتیک اضافه کیتیم.
استفاد super() فونکشن super()
Python اوتوماتیک دیگهی
ਇੰਸਟੈਂਸ
class Student(Person): def __init__(self, fname, lname): super().__init__(fname, lname)
استفاد کئی فونکشن، اوتوماتیک فرزند کلاس همه روشها و کمیتو پدر وراثت میکنه: super()
فونکشن، آپ میخوایس چونام پدر عنصر استفاد نکنی، اوتوماتیک از عنصر پدر روشها و کمیتو وراثت میکنه。
کمیتو
ਇੰਸਟੈਂਸ
ਨਾਮ graduationyear
کمیتو Student
کلاس:
class Student(Person): def __init__(self, fname, lname): super().__init__(fname, lname) self.graduationyear = 2019
ਇਸ ਉਦਾਹਰਣ ਵਿੱਚ 2019 ਸਾਲ ਇੱਕ ਵੈਰੀਅਬਲ ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ, ਅਤੇ ਸਟੂਡੈਂਟ ਆਬਦਾ ਬਣਾਉਣ ਲਈ ਪਾਸ ਕਰਨਾ ਚਾਹੀਦਾ ਹੈ।ਇਸ ਲਈ __init__() ਫੰਕਸ਼ਨ ਵਿੱਚ ਇੱਕ ਹੋਰ ਪੈਰਾਮੀਟਰ ਜੋੜੋ:
ਇੰਸਟੈਂਸ
ਮੰਥਨ ਕਰੋ year
ਪੈਰਾਮੀਟਰ ਅਤੇ ਆਬਦਾ ਬਣਾਉਣ ਲਈ ਸਹੀ ਸਾਲ ਪਾਸ ਕਰੋ:
class Student(Person): def __init__(self, fname, lname, year) super().__init__(fname, lname) self.graduationyear = year x = Student("Elon", "Musk", 2019)
ਮੰਥਨ ਕਰੋ
ਇੰਸਟੈਂਸ
ਨਾਮ welcome
ਦੇ ਵਰਗ ਵਿੱਚ ਮੰਥਨ ਕਰੋ:
class Student(Person): def __init__(self, fname, lname, year): super().__init__(fname, lname) self.graduationyear = year def welcome(self): print("Welcome", self.firstname, self.lastname, "to the class of", self.graduationyear)
ਸੁਝਾਅ:ਅਗਰ ਤੁਸੀਂ ਉਪ-ਵਰਗ ਵਿੱਚ ਮਾਤਾ-ਵਰਗ ਵਿੱਚ ਨਾਮ ਵਾਲਾ ਫੰਕਸ਼ਨ ਜੋੜੋ, ਤਾਂ ਉਪ-ਵਰਗ ਦਾ ਫੰਕਸ਼ਨ ਮਾਤਾ-ਵਰਗ ਦੇ ਫੰਕਸ਼ਨ ਨੂੰ ਓਵਰਰਾਈਡ ਕਰ ਦੇਵੇਗਾ。
- ਪਿਛਲਾ ਪੰਨਾ Python ਵਰਗ/ਆਬਦਾ
- ਅਗਲਾ ਪੰਨਾ Python ਇਟਰੇਸ਼ਨ