Dart Academy · पाठ

Shared Types से Polymorphism

class के बजाय type के लिए प्रोग्राम करें

पाठ 3, कुल 4 में से13 चरण

Shared Types से Polymorphism, CoddyKit पर Dart Academy का एक निःशुल्क पाठ है। यह 4 में से 3वाँ पाठ है। आप नीचे पूरा पाठ निःशुल्क पढ़ सकते हैं—फिर अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर के साथ ब्राउज़र में इसका व्यावहारिक अभ्यास कर सकते हैं। यह Dart Academy सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। Dart Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

बहुरूपता का अर्थ

बहुरूपता एक प्रकार को कई प्रकारों के स्थान पर इस्तेमाल करने देती है। आप साझा प्रकार पर किसी विधि को कॉल करते हैं और हर वस्तु अपने तरीके से प्रतिक्रिया देती है।

किसी प्रकार के लिए प्रोग्राम लिखना

किसी ठोस वर्ग का नाम लेने के बजाय, आप एक साझा अधिप्रकार पर निर्भर करते हैं। आपका कोड उस आकार में फिट होने वाली किसी भी वस्तु के साथ काम करता है।

void render(Shape s) => print(s.area());

एक साझा आधार प्रकार

एक अमूर्त आधार से शुरुआत कीजिए, जो उस सामान्य विधि की घोषणा करता है जिसे हर उपप्रकार अलग तरीके से उपलब्ध कराएगा।

abstract class Shape {
  double area();
}

कई उपप्रकार, एक आकार

हर उपप्रकार area को अपने तरीके से लागू करता है, फिर भी उन सभी को Shape की तरह माना जाता है।

class Circle extends Shape {
  double area() => 28.3;
}

गतिशील प्रेषण

रनटाइम पर डार्ट वास्तविक वस्तु की विधि चुनता है। इस प्रेषण का अर्थ है कि एक ही कॉल हर वस्तु के लिए अलग कोड चलाती है।

Shape s = Circle();
s.area(); // runs Circle.area

अलग-अलग आकारों की सूची

क्योंकि उनका प्रकार साझा है, आप मिश्रित वस्तुओं को एक सूची में इकट्ठा करके उनके साथ एकसमान तरीके से काम कर सकते हैं।

List<Shape> shapes = [Circle(), Square()];

बहुरूपी लूप चलाना

एक लूप हर आकार को संभाल लेता है। आपको कभी ठोस वर्ग के आधार पर अलग शाखाएँ बनाने की ज़रूरत नहीं पड़ती; सही area अपने-आप चलती है।

for (var s in shapes) {
  print(s.area());
}

विस्तार के लिए खुला

बाद में एक बिल्कुल नया Shape उपप्रकार जोड़िए और मौजूदा लूप उसे तुरंत इस्तेमाल करने लगेंगे। बहुरूपता कोड को विस्तार के लिए खुला रखती है।

class Triangle extends Shape {
  double area() => 12.0;
}

इंटरफ़ेस भी इसी तरह काम करते हैं

साझा प्रकार लागू करने से भी आ सकते हैं। इंटरफ़ेस लागू करने वाला कोई भी वर्ग उसी कोड में सीधे जुड़ जाता है।

void log(Printable p) => p.printOut();

प्रकार-जाँच की ज़रूरत नहीं

अच्छे बहुरूपी कोड में शायद ही कभी प्रकार-जाँच का इस्तेमाल होता है। साझा प्रकार पहले ही विधि के मौजूद होने की गारंटी देता है, जिससे तर्क साफ़ रहता है।

यह क्यों महत्वपूर्ण है

बहुरूपता लंबी if-else शृंखलाओं और दोहराए गए स्विचों को हटा देती है। आप ऐसा लचीला कोड लिखते हैं जो बिना बदलाव के नए प्रकारों के अनुसार ढल जाता है। 🌱

त्वरित जाँच

बहुरूपता के बारे में एक त्वरित प्रश्न।

पुनरावलोकन

बहुरूपता का अर्थ है साझा प्रकार के अनुसार प्रोग्राम लिखना, जबकि हर वस्तु अपने तरीके से व्यवहार करती है। इससे कोड लचीला और नए उपप्रकारों के लिए खुला रहता है। ✨

शुरुआत निःशुल्क

एआई शिक्षक के साथ Dart सीखें — निःशुल्क

अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।

पाठ्यक्रम
30
पाठ
120

अक्सर पूछे जाने वाले प्रश्न

क्या “Shared Types से Polymorphism” पाठ निःशुल्क है?

हाँ—“Shared Types से Polymorphism” का पूरा पाठ यहाँ वेब पर निःशुल्क पढ़ा जा सकता है। इंटरैक्टिव अभ्यास (अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर) करने और Dart Academy पाठ्यक्रम का बाकी हिस्सा अनलॉक करने के लिए CoddyKit PRO लें। Dart Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

“Shared Types से Polymorphism” में मैं क्या सीखूँगा?

class के बजाय type के लिए प्रोग्राम करें आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ Dart Academy का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।

क्या Dart Academy शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?

पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर Dart Academy शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 3वाँ पाठ है।

“Shared Types से Polymorphism” पाठ पूरा करने में कितना समय लगता है?

CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।

क्या मैं इस Dart Academy पाठ में कोड लिख और चला सकता हूँ?

हाँ। हर Dart Academy पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।

इस पाठ्यक्रम के सभी पाठ

  1. Abstract Classes और Abstract Methods
  2. Implicit Interfaces और implements
  3. Shared Types से Polymorphism
  4. Inheritance के बजाय Composition
← Dart Academy पर वापस जाएँ