چندریختی یکی از پایه های اصلی برنامه نویسی شیء گراست
خلاصش اینطوریه که یه شیء می تونی رفتار های متفاوتی برای یه متد داشته باشه
برای مثال کد زیر رو داشته:
کلاس پایه (Animal
):این کلاس یک متد به نامmake_sound
دارد که برای کلاسهای مشتق شده باید پیادهسازی شود. ما در اینجاNotImplementedError
را برای نشان دادن این که این متد باید در کلاسهای مشتق شده پیادهسازی شود، قرار دادهایم.
کلاسهای مشتق شده (Dog
,Cat
,Cow
):هر کدام از این کلاسها متدmake_sound
را بهصورت جداگانه پیادهسازی میکنند تا صداهای مخصوص به خود را تولید کنند.
تابعanimal_sound
:این تابع یک شی از نوعAnimal
دریافت میکند و متدmake_sound
را برای آن فراخوانی میکند. به دلیل استفاده از چندریختی، متد صحیح بر اساس نوع شیء که به تابع ارسال شده است، اجرا میشود.
اگه خواستی کل سری اصول برنامه نویسی شیء گرایی رو یه جا داشته باشی پیشنهاد می کنم این پست رو هم ببینی:
خوب برای این پست کافیه
اگه خودت نکته ای رو میشناسی که من اشاره نکردم توی کامنت بگو
امیدوارم این پست به دردتون خورده باشه
موفق و پیروز باشید ...
راستی اینم اخرین قسمت از این سری:
ان شاء الله راهی که میریم ختم بشه به ظهور سریعتر آقا امام زمان...