رفتن به مطلب
محفل من
Mostafa

نوع خروجی کواریانت در جاوا

پست های پیشنهاد شده

نوع خروجی covariant بدین معنی است که اگر توسعه دهنده بدنه ی متدی از کلاس پدر را در کلاس فرزند بازنویسی کرد، می تواند نوع بازگشتی یا خروجی متد را در کلاس فرزند، بر روی زیرنوعی (subtype) از نوع بازگشتی متد اصلی (بازنویسی شده) تنظیم کند. به عبارت دقیق تر، نوع بازگشتی covariant به شرایطی اشاره دارد که در آن نوع خروجی متد بازنویسی کننده (متدی در که کلاس فرزند override می شود) به نوع مربوط به return type متد بازنویسی شده (متد کلاس پدر) مرتبط می باشد.

قبل از ویرایش 5 بستر اجرا و زبان Java، امکان بازنویسی متد از طریق ویرایش نوع خروجی آن متد وجود نداشت. اما از ویرایش 5 به بعد، این امکان فراهم شده است که کلاس فرزند متدی از کلاس پدر را که نوع بازگشتی آن از جنس non-primitive (غیر اولیه نظیر آبجکت) هست را با ویرایش نوع خروجی بازنویسی نماید.

لازم به ذکر است که نوع خروجی متد بازنویسی شده در کلاس فرزند، به جنس کلاس فرزند نیز تبدیل می شود.

مثال کاربردی از نوع بازگشت کوواریانت

مخفی

    برای مشاهده مطلب باید در سایت ثبت نام کنید و سپس وارد شوید.

خروجی : به نوع بازگشت کواریانت خوش آمدید

همان طور که می بینید، نوع بازگشتی متد ()get از کلاس A، از جنس A است اما نوع بازگشتی متد ()get از کلاس B از جنس B است. هر دو متد دارای خروجی از نوع متفاوت هستند با این وجود می بینید که مفهوم بازنویسی متد (method overriding) در مثال بالا به معنای واقعی پیاده سازی شده است. در جاوا به این نمونه کاربرد covariant return type گویند.

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

برای ارسال دیدگاه یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

برای اینکه بتوانید دیدگاهی ارسال کنید نیاز دارید که کاربر سایت شوید

ایجاد یک حساب کاربری

برای حساب کاربری جدید در سایت ما ثبت نام کنید. عضویت خیلی ساده است !

ثبت نام یک حساب کاربری جدید

ورود به حساب کاربری

دارای حساب کاربری هستید؟ از اینجا وارد شوید

ورود به حساب کاربری
    • 1 Posts
    • 92 Views
    • 1 Posts
    • 116 Views
    • 1 Posts
    • 215 Views

  • سفارش پروژه برنامه نویسی

×
×
  • اضافه کردن...