تفاوت بین پیاده‌سازی و بسط

تفاوت بین پیاده‌سازی و بسط
تفاوت بین پیاده‌سازی و بسط

تصویری: تفاوت بین پیاده‌سازی و بسط

تصویری: تفاوت بین پیاده‌سازی و بسط
تصویری: چطوری کنفرانس خارجی پیدا کنم ؟ 2024, نوامبر
Anonim

Implements vs Extends

Implements و Extends دو کلمه کلیدی هستند که در زبان برنامه نویسی جاوا یافت می شوند که ابزاری برای انتقال عملکرد اضافه شده به یک کلاس جدید فراهم می کنند. کلمه کلیدی Implements به صراحت برای پیاده سازی یک رابط استفاده می شود، در حالی که کلمه کلیدی Extends برای ارث بردن از یک کلاس (super) استفاده می شود. لطفاً توجه داشته باشید که مفاهیم وراثت و رابط‌ها در بسیاری از زبان‌های برنامه‌نویسی شی گرا دیگر مانند C و VB. NET وجود دارند، اما آنها دستور یا کلمات کلیدی متفاوتی را برای اعمال این مفاهیم ارائه می‌دهند. این مقاله فقط بر روی پیاده سازی و گسترش کلمات کلیدی تعریف شده در جاوا تمرکز دارد.

تمدید

کلمه کلیدی Extends برای پیاده سازی مفهوم وراثت در زبان برنامه نویسی جاوا استفاده می شود. وراثت اساسا استفاده مجدد از کد را با اجازه دادن به گسترش خواص و رفتار یک کلاس موجود توسط یک کلاس جدید ارائه می کند. هنگامی که یک زیر کلاس جدید (یا کلاس مشتق شده) یک کلاس فوق العاده (یا کلاس والد) را گسترش می دهد، آن زیر کلاس تمام ویژگی ها و متدهای کلاس فوق را به ارث می برد. کلاس فرعی می تواند به صورت اختیاری رفتاری را که از کلاس والد به ارث رسیده است را لغو کند (عملکردی جدید یا توسعه یافته برای متدها ارائه کند). یک زیر کلاس نمی تواند چندین کلاس فوق العاده را در جاوا گسترش دهد. بنابراین، نمی‌توانید از extension برای ارث چندگانه استفاده کنید. برای اینکه چندین وراثت داشته باشید، باید از رابط هایی استفاده کنید که در زیر توضیح داده شده است.

اجراها

کلمه کلیدی Implements در زبان برنامه نویسی جاوا برای پیاده سازی یک رابط توسط یک کلاس استفاده می شود. یک رابط در جاوا یک نوع انتزاعی است که برای تعیین قراردادی استفاده می شود که باید توسط کلاس هایی که آن رابط را پیاده سازی می کنند، پیاده سازی شود.معمولاً یک رابط فقط حاوی امضاهای متد و اعلان های ثابت است. هر رابطی که یک اینترفیس خاص را پیاده سازی می کند باید تمام متدهای تعریف شده در اینترفیس را پیاده سازی کند یا باید به عنوان یک کلاس انتزاعی اعلان شود. در جاوا، نوع مرجع شی را می توان به عنوان یک نوع رابط تعریف کرد. اما آن شی یا باید تهی باشد یا باید یک شی از یک کلاس را در خود جای دهد که آن رابط خاص را پیاده سازی می کند. با استفاده از کلیدواژه Implements در جاوا، می توانید چندین رابط را در یک کلاس پیاده سازی کنید. یک رابط نمی تواند رابط دیگری را پیاده سازی کند. با این حال، یک رابط می تواند یک کلاس را گسترش دهد.

تفاوت بین Implements و Extends

اگرچه Implements و Extends دو کلمه کلیدی هستند که مکانیزمی برای ارث بردن صفات و رفتار به یک کلاس در زبان برنامه نویسی جاوا ارائه می دهند، اما برای دو هدف متفاوت استفاده می شوند. کلمه کلیدی Implements برای یک کلاس برای پیاده سازی یک رابط خاص استفاده می شود، در حالی که کلمه کلیدی Extends برای یک کلاس فرعی برای گسترش از یک کلاس فوق العاده استفاده می شود.وقتی یک کلاس یک اینترفیس را پیاده سازی می کند، آن کلاس باید تمام متدهای تعریف شده در اینترفیس را پیاده سازی کند، اما وقتی یک کلاس فرعی یک کلاس فوق العاده را گسترش می دهد، ممکن است متدهای موجود در کلاس والد را لغو کند یا نکند. در نهایت، یکی دیگر از تفاوت های کلیدی بین Implements و Extends این است که یک کلاس می تواند چندین رابط را پیاده سازی کند اما فقط می تواند از یک کلاس فوق العاده در جاوا گسترش یابد. به طور کلی، استفاده از Implements (رابط) در مقایسه با استفاده از Extends (ارث) مطلوب‌تر در نظر گرفته می‌شود، به دلایل متعددی مانند انعطاف‌پذیری بالاتر و توانایی به حداقل رساندن جفت. بنابراین در عمل، برنامه نویسی به یک رابط بر گسترش از کلاس های پایه ترجیح داده می شود.

توصیه شده: