1. অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং (OOP) এর ভূমিকা
- OOP কি এবং কেন ব্যবহার করা হয়
- Procedural vs OOP প্রোগ্রামিং
- OOP এর প্রধান চারটি বৈশিষ্ট্য (Encapsulation, Abstraction, Inheritance, Polymorphism)
2. ক্লাস এবং অবজেক্ট (Classes and Objects)
- ক্লাস এবং অবজেক্টের ভূমিকা
- ক্লাস তৈরি এবং অবজেক্ট ইন্সট্যানশিয়েট করা
- কনস্ট্রাক্টর এবং ডেস্ট্রাক্টর (constructor and destructor)
__init__মেথড এবং কনস্ট্রাক্টরের কাজ- ক্লাস অ্যাট্রিবিউটস এবং অবজেক্ট অ্যাট্রিবিউটস
- উদাহরণ: কাস্টম ক্লাস তৈরি এবং অবজেক্টের মাধ্যমে মেথড কল
3. এনক্যাপসুলেশন (Encapsulation)
- এনক্যাপসুলেশন এর সংজ্ঞা
- প্রাইভেট এবং পাবলিক অ্যাট্রিবিউটস
- প্রটেক্টেড মেম্বার (Protected Member)
- প্রাইভেট মেম্বার (Private Member) এবং নেম ম্যানগ্লিং (Name Mangling)
- গেটার এবং সেটার মেথড (Getter and Setter methods)
- উদাহরণ: প্রাইভেট ডেটা হাইডিং করা
4. ইনহেরিটেন্স (Inheritance)
- ইনহেরিটেন্স এর ভূমিকা এবং প্রয়োজনীয়তা
- বেস ক্লাস এবং ডেরাইভড ক্লাস
super()ফাংশন এর ব্যবহার- টাইপ অফ ইনহেরিটেন্স (Single, Multiple, Multilevel, Hierarchical, Hybrid Inheritance)
- উদাহরণ: বেস ক্লাস থেকে ডেরাইভড ক্লাসে মেথড ও প্রপার্টি ইন্টারিট করা
5. পলিমরফিজম (Polymorphism)
- পলিমরফিজম এর ধারণা
- মেথড ওভাররাইডিং (Method Overriding)
- মেথড ওভারলোডিং (Method Overloading) (Python-এ pseudo)
isinstance()এবংissubclass()মেথডের ব্যবহার- উদাহরণ: একই নামের মেথড ভিন্ন ভিন্ন ক্লাসে ভিন্ন ভাবে ব্যবহার করা
6. অ্যাবস্ট্রাকশন (Abstraction)
- অ্যাবস্ট্রাকশন কি
- অ্যাবস্ট্রাকশন এর উদ্দেশ্য
- অ্যাবস্ট্রাক্ট ক্লাস এবং মেথড
ABCমডিউল ব্যবহার করে অ্যাবস্ট্রাকশন করা- উদাহরণ: অ্যাবস্ট্রাক্ট ক্লাস এবং অ্যাবস্ট্রাক্ট মেথড তৈরি করা
7. ডান্ডার মেথডস (Dunder Methods)
- ডান্ডার মেথডের ভূমিকা এবং প্রয়োজনীয়তা
- গুরুত্বপূর্ণ ডান্ডার মেথডস:
__str__(),__repr__(),__eq__(),__lt__(),__len__() - ক্লাসের মধ্যে ডান্ডার মেথড ওভাররাইড করা
- উদাহরণ: কাস্টম ক্লাসে ডান্ডার মেথড ওভাররাইড করে অপারেশন করা
8. কম্পোজিশন বনাম ইনহেরিটেন্স (Composition vs Inheritance)
- কম্পোজিশন এবং ইনহেরিটেন্স এর পার্থক্য
- ইনহেরিটেন্স এর সীমাবদ্ধতা এবং কম্পোজিশন এর প্রয়োজন
- উদাহরণ: ক্লাস কম্পোজিশন তৈরি করা যেখানে একাধিক অবজেক্ট অন্তর্ভুক্ত থাকবে
9. প্রপার্টি ডেকোরেটর (Property Decorator)
@propertyডেকোরেটরের ব্যবহার- গেটার, সেটার এবং ডিলিটার মেথড তৈরি করা
- প্রপার্টি মেথডের মাধ্যমে ডেটা ম্যানিপুলেশন করা
- উদাহরণ: প্রপার্টি ডেকোরেটর ব্যবহার করে প্রাইভেট ডেটা ম্যানিপুলেট করা
10. স্ট্যাটিক এবং ক্লাস মেথড (Static and Class Methods)
- স্ট্যাটিক মেথড এবং ক্লাস মেথড এর ভূমিকা
@staticmethodএবং@classmethodডেকোরেটর ব্যবহার- ক্লাস ভেরিয়েবল এবং অবজেক্ট ভেরিয়েবল এর পার্থক্য
- উদাহরণ: স্ট্যাটিক এবং ক্লাস মেথড ব্যবহার করে উদাহরণ তৈরি করা
11. মিক্সিন ক্লাস (Mixin Class)
- মিক্সিন ক্লাস এর ভূমিকা
- কিভাবে মিক্সিন ক্লাস কাজ করে
- উদাহরণ: একাধিক মিক্সিন ক্লাস ব্যবহার করে প্রজেক্ট তৈরি করা
12. মেটাক্লাস (Metaclass)
- মেটাক্লাস এর ধারণা এবং এর প্রয়োজনীয়তা
type()ফাংশনের মাধ্যমে মেটাক্লাস তৈরি করা- মেটাক্লাস ব্যবহার করে ক্লাস কাস্টমাইজ করা
- উদাহরণ: কাস্টম মেটাক্লাস তৈরি করা এবং মডেল ক্লাসে এর ব্যবহার
13. ডেকোরেটর (Decorators)
- ফাংশন ডেকোরেটর এর ভূমিকা এবং ব্যবহার
- ক্লাসে ডেকোরেটর ব্যবহার করা
- মাল্টিপল ডেকোরেটর এবং নেস্টেড ডেকোরেটর
- উদাহরণ: ক্লাস এবং মেথডের উপর ডেকোরেটর প্রয়োগ করা
14. ইটারেটর এবং জেনারেটর (Iterator and Generator)
- ইটারেটর কী এবং কিভাবে কাজ করে
__iter__()এবং__next__()মেথড- জেনারেটর ফাংশন এবং
yieldকীওয়ার্ড - উদাহরণ: কাস্টম ইটারেটর এবং জেনারেটর তৈরি করা
15. ক্লাসের মেমোরি ম্যানেজমেন্ট (Memory Management in Classes)
- অবজেক্ট মেমোরি ম্যানেজমেন্ট এর ভূমিকা
- গার্বেজ কালেকশন এবং রেফারেন্স কাউন্টিং
__del__()মেথড এবং ডেস্ট্রাক্টর- উদাহরণ: ক্লাসের মেমোরি ম্যানেজমেন্ট বিশ্লেষণ
16. মডিউল এবং প্যাকেজ (Modules and Packages)
- মডিউল এবং প্যাকেজের ধারণা
- ক্লাস ভিত্তিক মডিউল তৈরি করা
- কাস্টম প্যাকেজ তৈরি এবং ইমপোর্ট করা
- উদাহরণ: বড় স্কেল প্রজেক্টে মডিউল এবং প্যাকেজের ব্যবহার
17. ক্লাস টেস্টিং এবং ডিবাগিং (Class Testing and Debugging)
unittestএবংpytestব্যবহার করে ক্লাস টেস্টিং করা- মক অবজেক্ট তৈরি করা
- ক্লাসের বাগ ফিক্সিং এবং ডিবাগিং
- উদাহরণ: OOP ভিত্তিক প্রজেক্টে টেস্টিং এবং ডিবাগিং করা
18. অ্যাডভান্সড পলিমরফিজম (Advanced Polymorphism)
- প্রটোকল ভিত্তিক পলিমরফিজম
- ডায়নামিক টাইপিং এবং ডায়নামিক ডিসপ্যাচ
- মাল্টিমেথড এবং মাল্টিডিসপ্যাচিং
- উদাহরণ: জটিল পলিমরফিক মডেল তৈরি
19. SOLID প্রিন্সিপালস (SOLID Principles in OOP)
- Single Responsibility Principle (SRP)
- Open/Closed Principle (OCP)
- Liskov Substitution Principle (LSP)
- Interface Segregation Principle (ISP)
- Dependency Inversion Principle (DIP)
- উদাহরণ: SOLID প্রিন্সিপাল অনুসরণ করে OOP প্রজেক্ট তৈরি করা
20. ডিজাইন প্যাটার্নস (Design Patterns in OOP)
- Creational Patterns (Factory, Singleton)
- Structural Patterns (Adapter, Composite)
- Behavioral Patterns (Observer, Strategy)
- উদাহরণ: বাস্তব প্রজেক্টে ডিজাইন প্যাটার্ন প্রয়োগ
21. পাইথনে প্রজেক্ট ভিত্তিক OOP (Project-based OOP in Python)
- একটি রিয়েল ওয়ার্ল্ড প্রজেক্টে OOP প্রয়োগ করা
- কাস্টম ক্লাস ডিজাইন, ইনহেরিটেন্স, এবং পলিমরফিজম ব্যবহার
- প্রজেক্টে অ্যাবস্ট্রাকশন এবং এনক্যাপসুলেশন এর বাস্তব উদাহরণ
এই সিলেবাসটি অনুসরণ করলে, আপনি পাইথনের OOP ধারণা থেকে শুরু করে সিনিয়র লেভেল প্রোগ্রামার হওয়ার জন্য প্রয়োজনীয় গভীর জ্ঞান অর্জন করতে পারবেন।
Articles
- অবজেক্ট তৈরী এবং প্রপার্টি এক্সেস করা
- ক্লাসে মেথড যোগ করা
- পাইথন OOP
- ক্লাসে প্রপার্টি যোগ করা
- ক্লাস তৈরী
- ক্লাস এবং অবজেক্ট চেক মেথড
- ইনহেরিটেন্স(inheritance)
- ইনহেরিটেন্স (Inheritance) (প্রাক্টিকেল )
- অবজেক্ট তৈরী না করেই ক্লাসে একসেস করা
- ম্যাজিক মেথড
- ইনস্ট্যান্স মেথড ও ক্লাস মেথড
- অবজেক্ট সম্পর্কে বিস্তারিত
- অবজেক্টকে ডিলেট করা
- অবজেক্ট এর প্রপার্টি ডিলেট করা
- অবজেক্ট এর প্রপার্টি ভ্যালু পরিবর্তন
- মেথড এবং ফাংশনের মধ্যে পার্থক্য
- Self কীওয়ার্ড
- ইন্সটেন্স ভ্যারিয়েবল
- ক্লাস ভ্যারিয়েবল
- প্রাইভেট অ্যাট্রিবিউট
- Polymorphism
- অ্যাবস্ট্রাকশন (Abstruction)
- Python এর property ফাংশন
- @property
- মেটাক্লাস (Metaclass)
- ক্লাসের মেমোরি ম্যানেজমেন্ট
- মিক্সিন ক্লাস
- ইনার ক্লাস (Inner Class
- Single Responsibility Principle (SRP)
- SOLID প্রিন্সিপাল অনুসরণ করে OOP প্রজেক্ট তৈরি করা
- Dependency Inversion Principle (DIP)
- Interface Segregation Principle (ISP)
- Liskov Substitution Principle (LSP)
- Open/Closed Principle (OCP)