चरण 2 – ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग (2-3 महीने)
क्लासेस, ऑब्जेक्ट्स, विशेषताएँ और मेथड्स
- क्लास संरचना
- ऑब्जेक्ट इंस्टैंशिएशन
- this का उपयोग
- सर्वोत्तम अभ्यास: नामकरण, कोड संगठन
एनकैप्सुलेशन, इनहेरिटेंस, पॉलिमॉर्फिज्म और एब्सट्रैक्शन
- Encapsulation: private, getters/setters, वैलिडेशन
- Inheritance: extends, overriding (@Override)
- Polymorphism: सबटाइप, method overloading
- Abstraction: अवलोकन, इंटरफेस और एब्सट्रैक्ट क्लासेस के लिए तैयारी
इंटरफेस और एब्सट्रैक्ट क्लासेस
- Interfaces: implements, default methods
- Abstract classes: एब्सट्रैक्ट और कंक्रीट मेथड्स
- इंटरफेस और एब्सट्रैक्ट क्लास के बीच अंतर
कंस्ट्रक्टर्स, इनिशियलाइजर्स और स्टैटिक ब्लॉक्स
- डिफ़ॉल्ट और पैरामीटराइज्ड कंस्ट्रक्टर्स, this() के साथ कॉल
- इनिशियलाइजेशन ब्लॉक्स ({}) और स्टैटिक ब्लॉक्स (static {})
एन्यूमरेशन्स
- enum बनाना और उपयोग करना
- enums में मेथड्स और विशेषताएँ
मूल कलेक्शन्स
- 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))
जेनेरिक्स
- सिन्टैक्स (), जेनेरिक कलेक्शन्स, जेनेरिक मेथड्स
- Bounds (extends, super)
Stream API (परिचय)
- मूल ऑपरेशन्स: filter, map, collect
- ArrayList के साथ उदाहरण
यूनिट टेस्टिंग (परिचय)
- JUnit का मूल उपयोग
- क्लासेस और मेथड्स के लिए टेस्ट केस लिखना
- TDD (Test-Driven Development) का परिचय
अंतिम प्रोजेक्ट
- लाइब्रेरी सिस्टम
- क्लासेस: Book, User, Library
- इनहेरिटेंस: DigitalBook और PhysicalBook
- कलेक्शन्स: पुस्तकों के लिए ArrayList, उधार के लिए HashMap
- एनकैप्सुलेशन: डेटा वैलिडेशन
- Git: प्रत्येक फीचर के लिए commit (उदाहरण के लिए,
feature/book-management
)
- GitHub पर प्रकाशन के साथ व्याख्यात्मक README
अद्यतन संसाधन