Abstract Classes
abstract classes और methods घोषित कीजिए, समझिए कि उनका instance क्यों नहीं बनाया जा सकता और subclasses डिज़ाइन को कैसे पूरा करते हैं
Abstract Classes, CoddyKit पर Java Academy का एक निःशुल्क पाठ है। यह 3 में से 1वाँ पाठ है। आप नीचे पूरा पाठ निःशुल्क पढ़ सकते हैं—फिर अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर के साथ ब्राउज़र में इसका व्यावहारिक अभ्यास कर सकते हैं। यह Java Academy सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। Java Academy पाठ्यक्रम में कुल 3 पाठ शामिल हैं।
abstract वर्ग क्या है?
abstract वर्ग: यह किसी साझा विचार को परिभाषित करता है और कुछ विधियों को बिना शरीर के छोड़ सकता है। इसमें कोड वाली सामान्य विधियाँ भी शामिल हो सकती हैं। इसे ऐसे साँचे की तरह समझें, जिसमें उपवर्गों को खाली स्थान भरने होते हैं।
कोड: सीधे ऑब्जेक्ट नहीं बनाया जा सकता
abstract वर्गों से सीधे ऑब्जेक्ट नहीं बनाए जा सकते। इनमें ऐसी सामान्य विधियाँ हो सकती हैं, जिन्हें सभी उपवर्ग विरासत में पाते हैं।
public class Main {
// Abstract class with one abstract method and one concrete method
static abstract class Animal {
abstract void speak(); // must be implemented by subclasses
void info() { // concrete method allowed
System.out.println("I am an animal.");
}
}
public static void main(String[] args) {
// Animal a = new Animal(); // Uncommenting would not compile: cannot instantiate abstract class
System.out.println("You cannot create an Animal directly if it is abstract.");
}
}
abstract वर्गों का उपयोग क्यों करें?
ये साझा कोड को एक जगह रखते हैं और प्रत्येक उपवर्ग से महत्वपूर्ण विधियाँ उपलब्ध कराने की अपेक्षा करते हैं। इनका उपयोग तब करें, जब कुछ व्यवहार समान हो, लेकिन कुछ व्यवहार ठोस प्रकारों के अनुसार अलग हो।
कोड: abstract विधि लागू करना
उपवर्गों को abstract विधियाँ लागू करनी होती हैं। abstract वर्ग की ठोस विधियाँ विरासत में मिलती हैं और दोबारा उपयोग की जा सकती हैं।
public class Main {
static abstract class Animal {
abstract void speak();
void info() {
System.out.println("I am an animal.");
}
}
static class Dog extends Animal {
// Must implement speak()
void speak() {
System.out.println("Woof!");
}
}
public static void main(String[] args) {
Dog d = new Dog(); // allowed: Dog is concrete
d.info(); // inherited concrete method
d.speak(); // Dog's implementation
}
}
नियम और मिश्रण
नियम: abstract वर्ग में फ़ील्ड, कंस्ट्रक्टर और ठोस विधियाँ हो सकती हैं। कोई उपवर्ग तभी ठोस बनता है, जब वह सभी abstract विधियाँ लागू कर दे; अन्यथा वह भी abstract रहता है।
कोड: abstract और बहुरूपता
abstract वर्ग बहुरूपता के साथ अच्छी तरह काम करते हैं। कोड abstract प्रकार का उपयोग कर सकता है और प्रत्येक उपवर्ग सही व्यवहार उपलब्ध कराता है।
public class Main {
static abstract class Animal {
abstract void speak();
}
static class Dog extends Animal {
void speak() { System.out.println("Woof!"); }
}
static class Cat extends Animal {
void speak() { System.out.println("Meow!"); }
}
public static void main(String[] args) {
// Polymorphism through abstract base type
Animal[] pets = { new Dog(), new Cat() };
for (int i = 0; i < pets.length; i = i + 1) {
pets[i].speak(); // each subclass provides its own behavior
}
}
}
abstract वर्ग की जाँच
त्वरित जाँच: abstract वर्गों के बारे में कौन-सा कथन सही है?
पुनरावलोकन
पुनरावलोकन: कोड साझा करने और महत्वपूर्ण विधियों को अनिवार्य बनाने के लिए abstract वर्गों का उपयोग करें। इनके सीधे ऑब्जेक्ट नहीं बनाए जा सकते, लेकिन उपवर्ग व्यवहार पूरा करते हैं।
एआई शिक्षक के साथ Java सीखें — निःशुल्क
अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।
- पाठ्यक्रम
- 104
- पाठ
- 374
अक्सर पूछे जाने वाले प्रश्न
क्या “Abstract Classes” पाठ निःशुल्क है?
हाँ—“Abstract Classes” का पूरा पाठ यहाँ वेब पर निःशुल्क पढ़ा जा सकता है। इंटरैक्टिव अभ्यास (अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर) करने और Java Academy पाठ्यक्रम का बाकी हिस्सा अनलॉक करने के लिए CoddyKit PRO लें। Java Academy पाठ्यक्रम में कुल 3 पाठ शामिल हैं।
“Abstract Classes” में मैं क्या सीखूँगा?
abstract classes और methods घोषित कीजिए, समझिए कि उनका instance क्यों नहीं बनाया जा सकता और subclasses डिज़ाइन को कैसे पूरा करते हैं आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ Java Academy का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।
क्या Java Academy शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?
पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर Java Academy शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 3 में से 1वाँ पाठ है।
“Abstract Classes” पाठ पूरा करने में कितना समय लगता है?
CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।
क्या मैं इस Java Academy पाठ में कोड लिख और चला सकता हूँ?
हाँ। हर Java Academy पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।
इस पाठ्यक्रम के सभी पाठ
- Abstract Classes
- Interfaces (परिचय और तुलना)
- Up/Down Casting और instanceof