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)

ਇੰਸਟੈਂਸ ਚਲਾਓ

ਸੁਝਾਅ:ਅਗਰ ਤੁਸੀਂ ਉਪ-ਵਰਗ ਵਿੱਚ ਮਾਤਾ-ਵਰਗ ਵਿੱਚ ਨਾਮ ਵਾਲਾ ਫੰਕਸ਼ਨ ਜੋੜੋ, ਤਾਂ ਉਪ-ਵਰਗ ਦਾ ਫੰਕਸ਼ਨ ਮਾਤਾ-ਵਰਗ ਦੇ ਫੰਕਸ਼ਨ ਨੂੰ ਓਵਰਰਾਈਡ ਕਰ ਦੇਵੇਗਾ。