برنامه سازی پیشرفته
درس متنی
جلسه 6 برنامه سازي شیءگرا در جاوا
خلاصه نکات کلیدی:
مفهوم Exception و انواع آن (Checked vs. Unchecked Exceptions).
بلوکهای try, catch, finally.
کلمه کلیدی throw برای پرتاب دستی Exception.
کلمه کلیدی throws برای اعلام Exception در متد.
اهمیت مدیریت Exception ها در ایجاد برنامههای پایدار و قابل اطمینان.
ایجاد Exception های سفارشی (Custom Exceptions).
مقدمهای بر برنامهسازی شیءگرا (OOP)
- تیتر: چرا شیءگرایی؟ مفاهیم بنیادی
- خلاصه نکات کلیدی:
- معرفی پارادایمهای برنامهسازی (دستوری، شیءگرا).
- مفاهیم اصلی OOP: کلاس (Class)، شیء (Object)، ویژگی (Attribute) و رفتار (Method).
- مزایای OOP: افزایش قابلیت استفاده مجدد کد (Reusability)، قابلیت نگهداری (Maintainability) و توسعهپذیری (Extensibility).
- تفاوت بین کلاس و شیء: کلاس به عنوان نقشه و شیء به عنوان نمونهای از آن نقشه.
- مثال:
- تشبیه کلاس
ماشینبا ویژگیهایی مانندرنگ،مدلو رفتارهایی مانندروشن شدن،حرکت کردن. - ایجاد اشیاء مختلف از کلاس
ماشینبا رنگها و مدلهای متفاوت. - تمرین پایان فصل:
- یک کلاس به نام
کتاببا ویژگیهایی مانندعنوان،نویسنده،تعداد صفحاتو رفتاری مانندمعرفی_کتابتعریف کنید. سپس دو شیء از این کلاس بسازید و اطلاعات آنها را نمایش دهید.
درس ۲: مفاهیم کلیدی OOP در جاوا - Encapsulation و Abstraction
- تیتر: پوشاندن جزئیات و نمایش ضروریات: Encapsulation و Abstraction
- خلاصه نکات کلیدی:
- Encapsulation (کپسولهسازی):
- مفهوم بستهبندی دادهها (ویژگیها) و متدها در یک واحد (کلاس).
- استفاده از سطح دسترسی
privateبرای ویژگیها و متدهایgetterوsetterبرای کنترل دسترسی به آنها. - اهمیت Encapsulation در امنیت دادهها و جلوگیری از تغییرات ناخواسته.
- Abstraction (انتزاع):
- مفهوم پنهان کردن جزئیات پیچیده پیادهسازی و نمایش تنها ویژگیها و رفتارهای ضروری.
- استفاده از کلاسهای انتزاعی (Abstract Classes) و اینترفیسها (Interfaces) در جاوا.
- تمرکز بر “چه کاری انجام میشود” به جای “چگونه انجام میشود”.
- مثال:
- کلاس
حساب_بانکیبا ویژگیموجودیبه صورتprivate. متدهایواریزوبرداشتکه منطق بهروزرسانی موجودی را مدیریت میکنند و متدgetMojanodiبرای نمایش موجودی. - اینترفیس
شکلبا متدمحاسبه_مساحت. کلاسهایدایرهومربعکه این اینترفیس را پیادهسازی کرده و هر کدام نحوه محاسبه مساحت خود را مشخص میکنند. - تمرین پایان فصل:
- کلاسی به نام
کارمندبا ویژگیهاینام،شناسه_کارمند(خصوصی) وحقوق(خصوصی) تعریف کنید. متدهایی برای تنظیم و دریافتشناسه_کارمندوحقوق(با بررسی اعتبار ورودی) و همچنین متدی برای نمایش اطلاعات کارمند ایجاد کنید.
درس ۳: مفاهیم کلیدی OOP در جاوا - Inheritance و Polymorphism
- تیتر: وراثت، پلیمورفیسم و قدرت انعطافپذیری
- خلاصه نکات کلیدی:
- Inheritance (وراثت):
- ایجاد کلاسهای جدید (فرزند) بر اساس کلاسهای موجود (والد).
- کلمه کلیدی
extendsدر جاوا. - مفهوم “is-a relationship” (رابطه “یک نوع از … است”).
- استفاده از
superبرای دسترسی به اعضای کلاس والد. - مزایای وراثت: کاهش تکرار کد، ایجاد سلسله مراتب کلاسها.
- Polymorphism (چندریختی):
- توانایی اشیاء در داشتن رفتارهای متفاوت بسته به نوع واقعی آنها.
- دو نوع اصلی:
- Compile-time Polymorphism (Early Binding): بارگذاری متد (Method Overloading) - تعریف متدهای همنام با پارامترهای متفاوت در یک کلاس.
- Runtime Polymorphism (Late Binding): بازنویسی متد (Method Overriding) - تعریف متدی در کلاس فرزند با همان امضا (نام و پارامترها) که در کلاس والد تعریف شده است.
- مثال:
- کلاس والد
حیوانبا متدصدا. کلاسهای فرزندسگوگربهکه متدصدارا بازنویسی کرده و صدای مخصوص خود را تولید میکنند. - کلاسی با متدهای
چاپ(int)وچاپ(String)برای نمایش بارگذاری متد. - تمرین پایان فصل:
- کلاسی به نام
وسیله_نقلیهبا ویژگیسرعتو متدحرکت(). کلاسهای فرزندخودروودوچرخهرا تعریف کنید که متدحرکت()را بازنویسی کرده و رفتار مخصوص خود را پیادهسازی کنند. همچنین، یک متد در کلاسخودروبا نامبوق()اضافه کنید.
درس ۴: کلاسها و اینترفیسهای خاص در جاوا
- تیتر: ابزارهای پیشرفته: کلاسهای Abstract، Interface، Final و Wrapper
- خلاصه نکات کلیدی:
- Abstract Classes: کلاسهایی که نمیتوان از آنها شیء ساخت و ممکن است دارای متدهای انتزاعی (بدون بدنه) و عادی باشند. برای اشتراکگذاری کد بین کلاسهای مرتبط استفاده میشوند.
- Interfaces: قراردادهایی که تنها متدهای انتزاعی (و ثابتهای
public static final) را تعریف میکنند. کلاسها میتوانند چندین اینترفیس را پیادهسازی کنند. برای تعریف رفتار و ایجاد پیمان (Contract) استفاده میشوند. - Final Keyword: کاربرد آن برای متغیرها (مقدار ثابت)، متدها (غیرقابل بازنویسی) و کلاسها (غیرقابل وراثت).
- Wrapper Classes: کلاسهایی مانند
Integer,Double,Booleanکه انواع داده اولیه (primitive types) را به شیء تبدیل میکنند. مفید برای استفاده از انواع اولیه در کالکشنها و متدهای جنریک. - Autoboxing/Unboxing: تبدیل خودکار بین انواع اولیه و Wrapper کلاسها.
- مثال:
- مثال کلاس انتزاعی
شکلو پیادهسازی آن توسط کلاسهایدایرهومربع. - مثال اینترفیس
قابل_ذخیرهکه کلاسهایفایلوپایگاه_دادهآن را پیادهسازی میکنند. - نشان دادن
final int MAX_VALUE = 100;وpublic final void display();. - تمرین پایان فصل:
- یک اینترفیس به نام
قابل_جمعبا متدجمع(int عدد)تعریف کنید. سپس کلاسی به نامجمع_کنندهایجاد کنید که این اینترفیس را پیادهسازی کند و جمع اعداد وارد شده را در یک متغیر داخلی نگهداری کند.
درس ۵: مدیریت خطاها و استثناها (Exception Handling)
- تیتر: مواجهه با مشکلات: درک و مدیریت Exception ها
- خلاصه نکات کلیدی:
- مفهوم Exception و انواع آن (Checked vs. Unchecked Exceptions).
- بلوکهای
try,catch,finally. - کلمه کلیدی
throwبرای پرتاب دستی Exception. - کلمه کلیدی
throwsبرای اعلام Exception در متد. - اهمیت مدیریت Exception ها در ایجاد برنامههای پایدار و قابل اطمینان.
- ایجاد Exception های سفارشی (Custom Exceptions).
- مثال:
- تقسیم بر صفر (
ArithmeticException). - دسترسی به ایندکس نامعتبر در آرایه (
ArrayIndexOutOfBoundsException). - خواندن فایل ناموجود (
FileNotFoundException). - مثال استفاده از
finallyبرای بستن منابع (مانند فایل یا اتصال پایگاه داده). - تمرین پایان فصل:
- تابعی بنویسید که یک رشته را به عنوان ورودی دریافت کرده و آن را به عدد صحیح تبدیل کند. اگر رشته ورودی قابل تبدیل به عدد صحیح نباشد، یک Exception سفارشی با پیام مناسب پرتاب کنید و در تابع فراخواننده، این Exception را با استفاده از بلوک
try-catchمدیریت نمایید.
درس ۶: آشنایی با Java Collections Framework
- تیتر: کار با مجموعهها: List, Set, Map
- خلاصه نکات کلیدی:
- معرفی Java Collections Framework به عنوان مجموعهای از اینترفیسها و کلاسها برای نگهداری و مدیریت اشیاء.
- List: مجموعهای مرتب که اجازه تکرار عناصر را میدهد (مانند
ArrayList,LinkedList). - Set: مجموعهای که اجازه تکرار عناصر را نمیدهد (مانند
HashSet,TreeSet). - Map: مجموعهای از جفتهای کلید-مقدار (Key-Value Pairs) که کلیدها باید منحصربهفرد باشند (مانند
HashMap,TreeMap). - کاربرد هر کدام از این ساختارها.
- مثال:
- استفاده از
ArrayListبرای ذخیره لیستی از نام دانشجویان. - استفاده از
HashSetبرای ذخیره مجموعهای از کلمات منحصربهفرد. - استفاده از
HashMapبرای نگاشت نام دانشجو به نمره او. - تمرین پایان فصل:
- برنامهای بنویسید که لیستی از اعداد را دریافت کند و با استفاده از
Set، اعداد تکراری را حذف کرده و سپس لیست اعداد منحصربهفرد را نمایش دهد.
دروس متنی
#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مفاهیم پیشرفته و تکمیلی
مشاهده دروس کامل
بررسی صفحه یادگیری دوره