رفتن به محتوای اصلی
برنامه‌سازی پیشرفته با پایتون درس‌نامهٔ آزاد
مفهوم متوسط ۷ دقیقه

چندریختی و ارسال پویا

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

تعریف ارسال پویا

انتخاب نسخهٔ واقعیِ متد در زمان اجرا بر اساس نوع شیء، نه نوعِ اعلام‌شدهٔ متغیر.

def morning_call(animals):
    for a in animals:
        print(a.speak())  # هر شیء نسخهٔ خودش را اجرا می‌کند

قدرت چندریختی در «بازبودن برای توسعه، بسته‌بودن برای تغییر» است: نوع تازه اضافه می‌کنی بدون این‌که morning_call را دست بزنی. در پایتون حتی والد مشترک لازم نیست — اگر speak داشته باشد، کار می‌کند (تایپ‌ایمنی اردکی: «اگر مثل اردک راه می‌رود و صدا می‌دهد، اردک است»).

پیش‌نیازها

مطالب مرتبط

از همین بخش و با برچسب‌های مشترک

این مطلب را خواندید؟ آن را علامت بزنید تا پیشرفت شما روی همین دستگاه ذخیره شود.

وضعیت پیشرفت برای چندریختی و ارسال پویا