abstract class: کلاس انتزاعی
در سلسه مراتب وراثت کلاس ها، کلاس هایی که در سطوح بالاتری قرار دارند ، فقط متدها و فیلدهایی را که بین تمام کلاس ها مشترک اند ، تعریف میکنند. متدها و فیلدهای ویژه تر ، در سطوح پایین سلسه مراتب قرار می گیرند. گاهی کلاس های سطوح بالای سلسله مراتب وراثت ، آنقدر کلی می شوند که لازم نیست مستقیما پیاده سازی شوند ، بلکه کلاس های جدید از آنها مشتق می شوند تا فیلدها و متدهای مشترک را به ارث ببرند. این نوع کلاس ها را کلاس های انتزاعی می نامند.کلاس های انتزاعی ، به عنوان کلاس پایه ای استفاده می شود که زیر کلاس های دیگر در همان زمینه از آن مشتق می شوند.کلاس های انتزاعی به عنوان مکانی برای ذخیره ی اعضای مشترک تمام زیر کلاس ها محسوب می شوند. این کلاس ها می توانند اطمینان حاصل کنند که زیر کلاس ها حاوی متدهای خاصی باشند.
چند نکته:
1- کلاس انتزاعی می تواند شامل فیلد ها ، سازنده ها ، و متدهای غیر انتزاعی باشند
2- کلاس انتزاعی می تواند یک یا چند متد انتزاعی داشته باشد.
3-اگر کلاسی حاوی متد انتزاعی باشد ، باید انتزاعی اعلان گردد.
4-نمی توانید از یک کلاس انتزاعی ، شی ء ای را نمونه سازی کنید ، فقط می توانید یک متغیر مرج از نوع کلاس انتزاعی اعلان کنید.
interface:خط اتصال(معنای لغوی)
در جاوا ، واسط ، نوعی کلاس است که فقط شامل متدهای انتزاعی و یا ثواب است . شباهت کلاس های انتزاعی و واسط ها این است که نمی توان اشیایی را از آن ها نمونه سازی کرد و تفاوت آنها در این است که کلاس های انتزاعی می توانند حاوی متدهای غیر انتزاعی و هر نوع فیلدی باشند ، در حالی که واسط ها فقط داری متدهای انتزاعی و ثابت های از نوع static final هستند.
ممکن است این سوال مطرح شود که چرا جاوا از واسط ها پشتیبانی می کند؟ پاسخ این است که جاوا از وراثت چندگانه پشتیبانی نمی کند ، یک کلاس فقط می تواند از یک کلاس پایه مشتق شود . اما برنامه جاوا می تواند شامل چندین مولفه GUI (واسط گرافیکی کاربر) باشد و در نتیجه ، رویداد های گوناگونی مثل رویداد های ماس ، و رویداد های عملیات را تولید نماید . این رویداد ها از طریق پیداه سازی واسط های جداگانه اداره می شوند.بنابراین ، ممکن است برنامه نیاز به استفاده از چندین واسط داشته باشد . گرچه کلاس جاوا می تواند فقط از یک کلاس مشتق شود ، ولی می تواند چندین واسط را پیاده سازی کند.
چند لینک مفید :
منبع : سایت برنامه نویس پست مرتبط با این بخش
ویدیوی آموزشی کلاس انتزاعی که در این پست برای توضیح آمده است
الویت بندی پاسخ های مشاهده شده در سایت ها:
100 % پاسخ مناسب
70 % پاسخ مناسب
منابع مناسب در کتب:
کتاب آموزش گام به گام برنامه نویسی به زبان جاوا -جعفر نژاد قومی -چاپ دوم پاییز 1390 :
فصل هفتم صفحه ی 256 توضیحات مرتبط با کلاس های انتزاعی abstract class
فصل هشتم صفحه ی 266 توضیحات مرتبط با واسط ها interface
نوشته شده توسط جوان ایرانی