برنامهنویسی شیءگرا
این بخش شامل آموزشهای مربوط به برنامهنویسی شیءگرا میباشد.
📋 فهرست مباحث
- مفاهیم شیءگرایی (OOP Paradigm)
- کلاسها و اشیاء (Classes and Objects)
- ویژگیها (Attributes) و متدها (Methods)
- متد init و سازنده کلاس
- پارامتر self در کلاسها
- متدهای نمونه (Instance Methods)
- متدهای کلاس (Class Methods) با @classmethod
- متدهای استاتیک (Static Methods) با @staticmethod
- کپسولهسازی (Encapsulation) و مفهوم خصوصی
- نامگذاری خصوصی (Name Mangling)
- Property و Getter/Setter
- وراثت (Inheritance) و مفهوم آن
- وراثت تکی و چندگانه
- تابع super و فراخوانی کلاس والد
- متد str برای نمایش رشتهای
- متد repr برای نمایش رسمی
- چندریختی (Polymorphism)
- ابهام (Duck Typing)
- کلاسهای انتزاعی (Abstract Base Classes)
- ماژول abc و رابطها (Interfaces)
- ترکیب (Composition) در برابر وراثت
- متدهای جادویی (Magic/Dunder Methods) مقدماتی
- سربارگذاری عملگرها (Operator Overloading)
- متدهای eq, lt, gt
- متدهای add, sub, mul
- مدیریت کانتینرها (len, getitem)
- قابلیت فراخوانی اشیاء (call)
- مدیریت منابع (enter, exit)
- متدهای new و del
- کپی و عمیقسازی در اشیاء
- دادههای کلاس (Class Data) vs دادههای نمونه
- متدهای خصوصی در کلاس
- طراحی الگوهای پایه (Design Patterns) در OOP
- الگوی Singleton (تکنمونه)
- الگوی Factory (کارخانه)
- الگوی Observer (ناظر)
- استفاده از *args و **kwargs در کلاسها
- بررسی نوع اشیاء در اجرا (isinstance, type)
- ارثبری از کلاسهای داخلی (Inheriting from list/dict)
- معماری نرمافزار با OOP