کتاب از مبانی تا عمل: سفری به دنیای زبانهای شیءگرا با نگاهی به Foundations of Object-Oriented Languages با فرمت AZW3 برای کتابخوان کیندل و فرمت EPUB
دوره آموزشی: از مبانی تا عمل: سفری به دنیای زبانهای شیءگرا از مبانی تا عمل: سفری به دنیای زبانهای شیءگرا با نگاهی عمیق به کتاب مرجع "Foundations of Object-Oriented Languages" معرفی دوره: چرا برنامه...
🎓 دوره آموزشی جامع
📚 اطلاعات دوره
عنوان دوره: دوره از مبانی تا عمل: سفری به دنیای زبانهای شیءگرا با نگاهی به Foundations of Object-Oriented Languages
موضوع کلی: مفاهیم برنامهنویسی شیءگرا
موضوع میانی: مبانی و اصول زبانهای شیءگرا
📋 سرفصلهای دوره
- 1. مقدمهای بر برنامهنویسی و پارادایمها
- 2. چرا برنامهنویسی شیءگرا؟ مزایا و اهداف
- 3. تاریخچه مختصر زبانهای شیءگرا
- 4. مروری بر مفاهیم پایه: شیء، کلاس، پیام
- 5. مفاهیم بنیادین زبانهای برنامهنویسی: سینتکس و معناشناسی
- 6. متغیرها، انواع داده و مقادیر در زبانهای برنامهنویسی
- 7. تخصیص و ارجاع در حافظه
- 8. ساختارهای کنترلی: شرطیها و حلقهها
- 9. توابع و رویهها: بلوکهای ساختاری کد
- 10. محیطهای اجرا و مدیریت حافظه
- 11. شیء چیست؟ تعریف، هویت و حالت
- 12. رفتار شیء: متدها و عملیات
- 13. کلاس چیست؟ تعریف و نقش آن به عنوان الگو
- 14. ایجاد شیء (Instantiation) از کلاس
- 15. سازندهها (Constructors): فرآیند ساخت شیء
- 16. مدیریت حافظه و مخربها (Destructors)
- 17. ارجاع به شیء و تفاوت آن با خود شیء
- 18. متغیرهای نمونه (Instance Variables)
- 19. متغیرهای کلاس (Class Variables/Static Fields)
- 20. متدهای نمونه (Instance Methods)
- 21. متدهای کلاس (Class Methods/Static Methods)
- 22. مفهوم انتزاع (Abstraction) در برنامهنویسی
- 23. انتزاع دادهها و پنهانسازی جزئیات
- 24. انتزاع رویهها و رابطهای رفتاری
- 25. تعیین سطح انتزاع و طراحی خوب
- 26. مفهوم کپسولهسازی (Encapsulation)
- 27. پنهانسازی اطلاعات (Information Hiding)
- 28. اصلاحکنندههای دسترسی (Access Modifiers): عمومی، خصوصی، محافظتشده
- 29. رابط (Interface) عمومی کلاس و نگهداری آن
- 30. چرا کپسولهسازی برای قابلیت نگهداری مهم است؟
- 31. مفهوم وراثت (Inheritance): رابطه "is-a"
- 32. کلاس والد (Base/Superclass) و کلاس فرزند (Derived/Subclass)
- 33. وراثت پیادهسازی (Implementation Inheritance)
- 34. وراثت رابط (Interface Inheritance)
- 35. نادیدهگیری متد (Method Overriding)
- 36. فراخوانی متدهای والد (Super Calls)
- 37. سلسله مراتب کلاسها و طراحی آن
- 38. مشکلات و محدودیتهای وراثت تکگانه
- 39. وراثت چندگانه (Multiple Inheritance) و معضلات آن
- 40. وراثت چندگانه از طریق اینترفیسها
- 41. کلاسهای انتزاعی (Abstract Classes)
- 42. متدهای انتزاعی (Abstract Methods)
- 43. کلاسهای نهایی (Final/Sealed Classes): جلوگیری از وراثت
- 44. مفهوم چندریختی (Polymorphism)
- 45. چندریختی از طریق وراثت: ارجاع به نوع والد
- 46. اتصال دیررس (Late Binding) و ارسال پویا (Dynamic Dispatch)
- 47. چندریختی فراافزایشی (Ad-hoc Polymorphism - Overloading)
- 48. چندریختی پارامتری (Parametric Polymorphism - Generics)
- 49. چندریختی از طریق اینترفیسها
- 50. مزایای چندریختی برای انعطافپذیری کد
- 51. اهمیت سیستمهای نوع (Type Systems)
- 52. نوعبندی ایستا (Static Typing) در مقابل پویا (Dynamic Typing)
- 53. نوعبندی قوی (Strong Typing) در برابر ضعیف (Weak Typing)
- 54. امنیت نوع (Type Safety) و تضمینهای آن
- 55. بررسی نوع (Type Checking) در زمان کامپایل و زمان اجرا
- 56. زیرنوعبندی (Subtyping) و تعریف آن
- 57. رابطه زیرنوعبندی با وراثت
- 58. اصل جایگزینی لیسکوف (Liskov Substitution Principle - LSP)
- 59. هموردایی (Covariance) و کاربرد آن
- 60. پادوردایی (Contravariance) و اهمیت آن
- 61. بیوردایی (Invariance) در سیستمهای نوع
- 62. استنتاج نوع (Type Inference)
- 63. نیاز به جنریکها (Generics) در برنامهنویسی شیءگرا
- 64. جنریکها برای کلاسها
- 65. جنریکها برای متدها
- 66. پارامترهای نوع و متغیرهای نوع
- 67. محدودیتهای نوع (Type Constraints) در جنریکها
- 68. پاک کردن نوع (Type Erasure) و چالشهای آن
- 69. Reification و نگهداری اطلاعات نوع
- 70. مزایای جنریکها: امنیت نوع و قابلیت استفاده مجدد
- 71. مفهوم واگذاری (Delegation)
- 72. ترکیب (Composition): رابطه "has-a"
- 73. تفاوت ترکیب و وراثت: انتخاب صحیح در طراحی
- 74. جمعسازی (Aggregation) و ترکیب قوی (Composition)
- 75. اینترفیسها: تعریف و نقش آنها به عنوان قرارداد
- 76. اینترفیسها و چندریختی: جداسازی رابط از پیادهسازی
- 77. پیادهسازی چندگانه اینترفیسها
- 78. متدهای پیشفرض (Default Methods) در اینترفیسها
- 79. کلاسهای تو در تو (Nested Classes)
- 80. کلاسهای داخلی (Inner Classes) و دسترسی به اعضای کلاس بیرونی
- 81. کلاسهای بینام (Anonymous Classes)
- 82. ارجاع به خود (Self/This) در متدها
- 83. مخاطبین (Mixins) و خصیصهها (Traits)
- 84. مفهوم Reflection و دستکاری فراداده در زمان اجرا
- 85. Metaclasses: کلاسهایی که کلاسها را تعریف میکنند
- 86. Proxy Objects: الگوهای طراحی برای واسطهگری
- 87. روشهای مدیریت خطا و معرفی استثناها (Exceptions)
- 88. سلسله مراتب استثناها و انواع آن
- 89. پرتاب (Throwing) و گرفتن (Catching) استثناها
- 90. استثناهای بررسیشده (Checked Exceptions) و بررسینشده (Unchecked Exceptions)
- 91. استفاده صحیح از استثناها برای برنامهنویسی مقاوم
- 92. مقدمهای بر همزمانی (Concurrency) و موازیسازی (Parallelism)
- 93. مدلهای همزمانی در برنامهنویسی شیءگرا
- 94. شیءهای فعال (Active Objects) و Actor Model
- 95. قفلها (Locks) و سنکرونسازی (Synchronization)
- 96. مفهوم ایمنی رشته (Thread Safety)
- 97. معضلات همزمانی: بنبست (Deadlock)، گرسنگی (Starvation)
- 98. اصول طراحی SOLID: معرفی و اهمیت
- 99. الگوهای طراحی (Design Patterns): طبقهبندی و اهمیت آنها
- 100. آینده برنامهنویسی شیءگرا و ترکیب پارادایمها
تگها:
Foundations of Object-Oriented Languages
Object Oriented Programming
OOP
آموزش OOP
اصول OOP
برنامه نویسی شیءگرا
پلی مورفیسم
چندریختی
زبان های شیءگرا
شیءگرایی
کپسوله سازی
کلاس و شیء
مبانی شیءگرا
مفاهیم برنامه نویسی شیءگرا
وراثت
نظرات
هنوز نظری ثبت نشده است.
وارد شوید تا نظر ثبت کنید.