پایتون

جلسه ۴۸: سینتکس و اصطلاحات در پایتون

شما در این درس با سینتکس و نوشتار وراثت و همچنین اصطلاحات این زمینه آشنا میشوید.

اصطلاحات

در وراثت، بجای اینکه یک کلاس جدید بر اساس کلاس موجود بسازیم، از اصطلاحات زیر استفاده میکنیم:

  • کلاس Parent یا Super یا Base: این کلاس به ما این امکان را میدهد تا از خصوصیات public آن در کلاس دیگر استفاده کنیم.
  • کلاس Child یا Sub یا Derived : این کلاس، کلاسی است که قرار است از کلاس دیگر خصوصیاتی را به ارث ببرد.

(یک کلاس child همه ویژگی‌های Public از کلاس parent را دارد)

Syntax

در پایتون، پیاده‌سازی وراثت خیلی شبیه کلاس‌های پایه است. که در شکل زیر این شیوه‌نوشتار را میبینید:

class ParentClass:
    # attributes of the parent class


class ChildClass(ParentClass):
    # attributes of the child class

اسم کلاس parent در جلوی کلاس child و داخل پرانتز نوشته میشود. که در بدنه child میتوان از parent استفاده کرد.

مثال

حال مثالی را میزنیم با یک کلاس parent با نام vehicle و یک کلاس child با اسم Car، که این کلاس از کلاس vehicle ارث بری میکند. در نظر بگیرید که ماشین یک وسیله نقلیه است، بنابراین میتوانیم یک رابطه ارث بری بین این دو داشته باشیم.

class Vehicle:
    def __init__(self, make, color, model):
        self.make = make
        self.color = color
        self.model = model

    def printDetails(self):
        print("Manufacturer:", self.make)
        print("Color:", self.color)
        print("Model:", self.model)


class Car(Vehicle):
    def __init__(self, make, color, model, doors):
        # calling the constructor from parent class
        Vehicle.__init__(self, make, color, model)
        self.doors = doors

    def printCarDetails(self):
        self.printDetails()
        print("Doors:", self.doors)
obj1 = Car("Suzuki", "Grey", "2015", 4) obj1.printCarDetails()

توضیحات

  • در کدبالا و در خط شماره ۱، یک کلاس parent با نام Vehicle تعریف شده‌است و در خط ۱۳ یک کلاس car به صورت child تعریف شده‌است.
  • کلاس car همه خصوصیات و متدهای کلاس vehicle را به ارث میبرد و به آن‌ها دسترسی دارد و میتواند آن‌ها را تغییر دهد.
  • به عنوان مثال در خط ۲۰ از کلاس car ، ما متد printDetails را فراخوانی کردیم، که در کلاس Vehicle تعریف شده‌است.

قبل از آنکه وراثت را با جزئیات بیشتر بررسی کنیم، یک موضوع دیگری به نام ()super را در درس بعد بررسی میکنیم.

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا