ফেজ ২ – অবজেক্ট-ওরিয়েন্টেড প্রোগ্রামিং (২-৩ মাস)
ক্লাস, অবজেক্ট, অ্যাট্রিবিউট এবং মেথড
- ক্লাসের গঠন
- অবজেক্ট ইনস্ট্যানশিয়েশন
- this এর ব্যবহার
- সর্বোত্তম অনুশীলন: নামকরণ, কোড সংগঠন
এনক্যাপসুলেশন, ইনহেরিটেন্স, পলিমরফিজম এবং অ্যাবস্ট্রাকশন
- Encapsulation: private, getters/setters, ভ্যালিডেশন
- Inheritance: extends, overriding (@Override)
- Polymorphism: সাবটাইপ, method overloading
- Abstraction: সংক্ষিপ্ত বিবরণ, ইন্টারফেস এবং অ্যাবস্ট্রাক্ট ক্লাসের জন্য প্রস্তুতি
ইন্টারফেস এবং অ্যাবস্ট্রাক্ট ক্লাস
- Interfaces: implements, default methods
- Abstract classes: অ্যাবস্ট্রাক্ট এবং কংক্রিট মেথড
- ইন্টারফেস এবং অ্যাবস্ট্রাক্ট ক্লাসের মধ্যে পার্থক্য
কনস্ট্রাক্টর, ইনিশিয়ালাইজার এবং স্ট্যাটিক ব্লক
- ডিফল্ট এবং প্যারামিটারাইজড কনস্ট্রাক্টর, this() দিয়ে কল
- ইনিশিয়ালাইজেশন ব্লক ({}) এবং স্ট্যাটিক ব্লক (static {})
ইনিউমারেশন
- enum তৈরি এবং ব্যবহার
- enum-এ মেথড এবং অ্যাট্রিবিউট
মৌলিক কালেকশন
- ArrayList: যোগ করা, অপসারণ, ইটারেশন (for, forEach, Iterator)
- HashMap: key-value, সাধারণ অপারেশন
- HashSet: ডুপ্লিকেট দূরীকরণ
- Queue এবং Stack-এর পরিচিতি (যেমন, LinkedList কে queue/stack হিসেবে ব্যবহার)
- Java Collections Framework-এর পরিচিতি
মৌলিক অ্যালগরিদম
- লিনিয়ার এবং বাইনারি সার্চ
- Sorting: Bubble Sort, Collections.sort()
- Recursion: ধারণা এবং সহজ উদাহরণ (যেমন, ফ্যাক্টরিয়াল, ফিবোনাচি)
- জটিলতার পরিচিতি (O(n), O(log n))
জেনেরিক্স
- সিনট্যাক্স (), জেনেরিক কালেকশন, জেনেরিক মেথড
- বাউন্ডস (extends, super)
Stream API (পরিচিতি)
- মৌলিক অপারেশন: filter, map, collect
- ArrayList সহ উদাহরণ
ইউনিট টেস্টিং (পরিচিতি)
- JUnit-এর মৌলিক ব্যবহার
- ক্লাস এবং মেথডের জন্য টেস্ট কেস লেখা
- TDD (Test-Driven Development)-এর পরিচিতি
চূড়ান্ত প্রকল্প
- লাইব্রেরি সিস্টেম
- ক্লাস: Book, User, Library
- ইনহেরিটেন্স: DigitalBook এবং PhysicalBook
- কালেকশন: বইয়ের জন্য ArrayList, ঋণের জন্য HashMap
- Encapsulation: ডেটা ভ্যালিডেশন
- Git: প্রতিটি ফিচারের জন্য commit (যেমন,
feature/book-management
)
- GitHub-এ প্রকাশ সহ ব্যাখ্যামূলক README
আপডেটেড রিসোর্স