کتاب برنامهنویسی شیءگرا: راهنمای گام به گام برای درک عمیق مفاهیم طراحی شیءگرا با فرمت AZW3 برای کتابخوان کیندل و فرمت EPUB
249,950 تومان
🎓 دوره آموزشی جامع
📚 اطلاعات دوره
عنوان دوره: دوره برنامهنویسی شیءگرا: راهنمای گام به گام برای درک عمیق مفاهیم طراحی شیءگرا
موضوع کلی: برنامه نویسی
موضوع میانی: برنامهنویسی شیءگرا (OOP)
📋 سرفصلهای دوره
- 1. برنامهنویسی شیءگرا چیست و چرا مهم است
- 2. تاریخچه مختصر و تکامل پارادایم شیءگرا
- 3. مفاهیم پایه: کلاس و شیء
- 4. شناسایی و تعریف اشیاء در دنیای واقعی
- 5. ویژگیهای یک شیء: وضعیت و رفتار
- 6. نحوه تعریف یک کلاس در زبان برنامهنویسی
- 7. ساختار و اجزای یک کلاس: فیلدها و متدها
- 8. ایجاد نمونه (آبجکت) از یک کلاس
- 9. مرجع (Reference) و تفاوت آن با خود شیء
- 10. عملگر new و تخصیص حافظه
- 11. مفهوم سازنده (Constructor) و انواع آن
- 12. سازنده پیشفرض و سازنده پارامتردار
- 13. کلمه کلیدی this و کاربردهای آن
- 14. تغییر وضعیت شیء از طریق متدها
- 15. مفهوم متغیرهای محلی و سراسری در کلاس
- 16. مقدمهای بر کپسولهسازی (Encapsulation)
- 17. سطوح دسترسی: public, private, protected
- 18. چرا باید فیلدها را خصوصی (private) تعریف کرد؟
- 19. متدهای getter و setter برای دسترسی کنترلشده
- 20. اصل پنهانسازی اطلاعات (Information Hiding)
- 21. مفهوم وراثت (Inheritance) و مزایای آن
- 22. ایجاد یک کلاس فرزند (Subclass) از کلاس والد (Superclass)
- 23. کلمه کلیدی extends برای تعریف وراثت
- 24. دسترسی به اعضای کلاس والد در کلاس فرزند
- 25. بازتعریف متدها (Method Overriding) در وراثت
- 26. کلمه کلیدی super و فراخوانی سازنده والد
- 27. وراثت سلسلهمراتبی و عمق آن
- 28. مفهوم چندریختی (Polymorphism) و انواع آن
- 29. چندریختی زمان کامپایل: سربارگذاری متد (Method Overloading)
- 30. چندریختی زمان اجرا: متد override و ارسال پیام
- 31. نحوه پیادهسازی چندریختی با کلاسهای والد و فرزند
- 32. مفهوم انتزاع (Abstraction) و دلیل استفاده از آن
- 33. کلاسهای انتزاعی (Abstract Classes) و ویژگیهای آنها
- 34. متدهای انتزاعی و الزام پیادهسازی در کلاس فرزند
- 35. تفاوت کلاس انتزاعی با کلاس معمولی
- 36. مفهوم واسط (Interface) و نقش آن در طراحی
- 37. تعریف یک واسط و پیادهسازی آن با implements
- 38. چندریختی از طریق واسطها (Interface Polymorphism)
- 39. تفاوت کلاس انتزاعی و واسط و زمان استفاده از هرکدام
- 40. روابط بین کلاسها: ارتباط (Association)
- 41. روابط بین کلاسها: تجمیع (Aggregation)
- 42. روابط بین کلاسها: ترکیب (Composition)
- 43. تفاوت تجمیع و ترکیب از نظر چرخه حیات اشیاء
- 44. مفهوم وابستگی (Dependency) بین کلاسها
- 45. استفاده از روابط برای طراحی کلاسهای واقعی
- 46. مفهوم متدها و توابع ایستا (Static)
- 47. فیلدهای ایستا و اشتراک داده بین تمام نمونهها
- 48. بلوکهای استاتیک و زمان اجرای آنها
- 49. ثابتها (Constants) و کلمه کلیدی final
- 50. کلاسهای نهایی (Final Classes) و متدهای نهایی
- 51. مفهوم بستهبندی (Package) و فضای نام (Namespace)
- 52. مدیریت وابستگیها با import
- 53. مقدمهای بر اصول SOLID در طراحی شیءگرا
- 54. اصل اول SOLID: تکمسئولیتی (Single Responsibility Principle)
- 55. اصل دوم SOLID: باز برای توسعه، بسته برای تغییر (Open/Closed Principle)
- 56. اصل سوم SOLID: جایگزینی لیسکوف (Liskov Substitution Principle)
- 57. اصل چهارم SOLID: جداسازی واسطها (Interface Segregation Principle)
- 58. اصل پنجم SOLID: وارونگی وابستگی (Dependency Inversion Principle)
- 59. مقدمهای بر الگوهای طراحی (Design Patterns) در شیءگرایی
- 60. الگوی طراحی Singleton: کاربرد و پیادهسازی
- 61. الگوی طراحی Factory Method: ایجاد اشیاء به صورت پویا
- 62. الگوی طراحی Observer: ارتباط یکبهچند بین اشیاء
- 63. مفاهیم پیشرفته: کلاسهای درونی (Inner Classes)
- 64. کلاسهای ناشناس (Anonymous Classes) برای پیادهسازی سریع واسطها
- 65. مفهوم Generic (جنریک) در کلاسها و متدها
- 66. محدودیتهای Generics و کاربرد wildcard
- 67. مدیریت خطا با استثناها (Exceptions) در برنامههای شیءگرا
- 68. ایجاد استثناهای سفارشی (Custom Exceptions)
- 69. نوشتن کد تمیز و خوانا با اصول شیءگرا
- 70. تست واحد (Unit Testing) برای کلاسها و اشیاء
- 71. مستندسازی کلاسها و متدها
- 72. بازآرایی کد (Refactoring) برای بهبود طراحی شیءگرا
- 73. مقایسه برنامهنویسی شیءگرا با برنامهنویسی رویهای
- 74. انتخاب زبان برنامهنویسی مناسب برای یادگیری مفاهیم شیءگرا
- 75. تمرین جامع: طراحی یک سیستم کوچک با استفاده از تمام مفاهیم
نظرات
هنوز نظری ثبت نشده است.
وارد شوید تا نظر ثبت کنید.