برنامه سازی پیشرفته
درس متنی
جلسه 9(interface) واسط
نکات کلیدی
قرارداد: واسط، مجموعهای از متدها (بدون بدنه/پیادهسازی) است که کلاسی که آن را پیادهسازی میکند، باید آنها را ارائه دهد.
انتزاع (Abstraction): واسطها به ما کمک میکنند تا بر روی “چه کاری” تمرکز کنیم، نه “چگونه”. این امر باعث کاهش پیچیدگی و افزایش قابلیت نگهداری کد میشود.
چندریختی (Polymorphism): با استفاده از واسطها، میتوان اشیاء مختلفی را که یک واسط مشترک را پیادهسازی کردهاند، به صورت یکسان (از طریق واسط) مدیریت کرد.
عدم امکان نمونهسازی مستقیم: شما نمیتوانید مستقیماً از یک واسط شیء بسازید. واسطها فقط تعریفکننده هستند.
۳. کاربردها
تعریف APIها: واسطها اغلب برای تعریف رابطهای برنامهنویسی کاربردی (API) استفاده میشوند.
مدلسازی رفتارهای مشترک: کلاسهای مختلف که رفتارهای مشابهی دارند (مانند “ذخیرهکردن”، “خواندن”، “پردازش”) میتوانند یک واسط مشترک را پیادهسازی کنند.
معماری نرمافزار: در طراحی سیستمهای بزرگ، واسطها به جداسازی اجزا و ماژولها کمک میکنند.
تیتر: واسط چیست؟
واسط، قراردادی است که مشخص میکند چه قابلیتهایی باید پیادهسازی شوند، بدون اینکه جزئیات پیادهسازی را مشخص کند. در واقع، واسط مانند یک “قرارداد” یا “نقشه راه” عمل میکند که کلاسی که آن را پیادهسازی (implement) میکند، ملزم به ارائه توابع و متدهایی با امضای مشخص شده در واسط است.
۲. نکات کلیدی
- قرارداد: واسط، مجموعهای از متدها (بدون بدنه/پیادهسازی) است که کلاسی که آن را پیادهسازی میکند، باید آنها را ارائه دهد.
- انتزاع (Abstraction): واسطها به ما کمک میکنند تا بر روی “چه کاری” تمرکز کنیم، نه “چگونه”. این امر باعث کاهش پیچیدگی و افزایش قابلیت نگهداری کد میشود.
- چندریختی (Polymorphism): با استفاده از واسطها، میتوان اشیاء مختلفی را که یک واسط مشترک را پیادهسازی کردهاند، به صورت یکسان (از طریق واسط) مدیریت کرد.
- عدم امکان نمونهسازی مستقیم: شما نمیتوانید مستقیماً از یک واسط شیء بسازید. واسطها فقط تعریفکننده هستند.
۳. کاربردها
- تعریف APIها: واسطها اغلب برای تعریف رابطهای برنامهنویسی کاربردی (API) استفاده میشوند.
- مدلسازی رفتارهای مشترک: کلاسهای مختلف که رفتارهای مشابهی دارند (مانند “ذخیرهکردن”، “خواندن”، “پردازش”) میتوانند یک واسط مشترک را پیادهسازی کنند.
- معماری نرمافزار: در طراحی سیستمهای بزرگ، واسطها به جداسازی اجزا و ماژولها کمک میکنند.
۴. تمرین پایان فصل (برای درک بهتر)
فرض کنید در حال طراحی سیستمی برای پردازش انواع مختلف فایلهای رسانهای (مانند صوتی، تصویری، متنی) هستید.
- یک واسط به نام
MediaPlayerتعریف کنید. - این واسط باید متدهایی مانند
play(),pause(),stop()را داشته باشد. - سپس دو کلاس
AudioPlayerوVideoPlayerرا تعریف کنید که واسطMediaPlayerرا پیادهسازی کنند. در بدنه متدها فعلاً فقط یک پیام چاپ کنید که نشان دهد کدام متد در کدام کلاس فراخوانی شده است.
دروس متنی
#1
جلسه 1 آشنایی با زبان جاوا
#2
جلسه 2ویژگی هاي زبان جاوا ◦
#3
جلسه 3 اولین برنامه در جاوا ◦
#4
جلسه 4 مفاهیم اولیه برنامه سازي در جاوا
#5
جلسه 5 مقدمه اي بر طراحی و برنامه سازي شیءگرا
#6
جلسه 6 برنامه سازي شیءگرا در جاوا
#7
جلسه 7وراثت
#8
جلسه 8چندریختی
#9
جلسه 9(interface) واسط
#10
جلسه 10آزمون نرم افزار
#11
جلسه 11الگوهاي طراحی
#12
جلسه 12 (Refactoring) بازآرایی کد
#13
جلسه 13مدیریت خطا و استثنا
#14
جلسه 14 (Generics) داده هاي عام
#15
جلسه 15 (Containers) مجموعه ها و ظرف ها
#16
جلسه 16فایل، جویبار و شبکه
#17
جلسه 17برنامه سازي همروند
#18
جلسه 18 Reflection
#19
جلسه 19مفاهیم پیشرفته و تکمیلی
مشاهده دروس کامل
بررسی صفحه یادگیری دوره