درک ارثبری در پایتون
ارثبری یکی از مفاهیم بنیادین در برنامهنویسی شیگرا است. با استفاده از ارثبری، میتوان کلاسهای جدید را بر اساس ویژگیها و عملکردهای کلاسهای موجود تعریف کرد و این امکان را فراهم میکند که کدهای خود را مجدد استفاده و ساختاردهی کنیم. در پایتون، تعریف ارثبری بسیار ساده و سرراست است؛ به این صورت که کلاس فرزند، ویژگیها و متدهای تعریف شده در کلاس والد را به ارث میبرد.
در ادامه میخواهیم مثالی ساده را بررسی کنیم تا بهتر با نحوه عملکرد ارثبری در پایتون آشنا شویم. فرض کنید کلاس پایهای به نام Animal
داریم که دارای متدی به نام make_sound
است. حال میخواهیم برای حیوانات خاصی مثل گربه و سگ کلاسهای مجزا تعریف کنیم که بتوانند صدای خود را تولید کنند.
مثالی کاربردی از ارثبری در پایتون
در این بخش به بررسی نحوه تعریف کلاسها با استفاده از ارثبری میپردازیم:
class Animal:
def make_sound(self):
print("Some sound")
class Dog(Animal):
def make_sound(self):
print("Bark")
class Cat(Animal):
def make_sound(self):
print("Meow")
توضیح خط به خط کد بالا:
class Animal:
تعریف کلاس پایه Animal
است. این کلاس دارای یک متد است.
def make_sound(self):
تعریف متدی است که صدای عمومی تولید میکند. این متد بعدها در کلاسهای فرزند بازنویسی میشود.
print("Some sound")
دستور print
که صدای عمومی را چاپ میکند. جایگزینی این صدای عمومی با صدای خاصتر در کلاسهای فرزند انجام میشود.
class Dog(Animal):
تعریف کلاس Dog
که از Animal
ارثبری میکند.
def make_sound(self):
بازنویسی متد make_sound
مخصوص کلاس Dog
که با دستور print("Bark")
صدای سگ را تولید میکند.
class Cat(Animal):
تعریف کلاس Cat
که از Animal
ارثبری میکند.
def make_sound(self):
مشابه Dog
، اینجا هم متد make_sound
برای کلاس Cat
بازنویسی میشود و صدای گربه را تولید میکند.