Object Composition
छोटे objects को मिलाकर बड़े objects बनाइए। Composition has-a संबंधों को दर्शाता है, जैसे ऐसा Car जिसमें Engine होता है
Object Composition, CoddyKit पर Java Academy का एक निःशुल्क पाठ है। यह 3 में से 2वाँ पाठ है। आप नीचे पूरा पाठ निःशुल्क पढ़ सकते हैं—फिर अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर के साथ ब्राउज़र में इसका व्यावहारिक अभ्यास कर सकते हैं। यह Java Academy सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। Java Academy पाठ्यक्रम में कुल 3 पाठ शामिल हैं।
परिभाषा
संयोजन का अर्थ है अपने स्वामित्व वाली छोटी वस्तुओं से बड़ी वस्तु बनाना। यह के पास है संबंध है: Car के पास Engine है। इससे वर्ग छोटे और केंद्रित रहते हैं और बड़ी वस्तु अपने हिस्सों को काम सौंपती है।
लाभ
संयोजन पुनः उपयोग में मदद करता है: पूरी वस्तु को बदले बिना आप किसी हिस्से को बदल सकते हैं। इससे परीक्षण-सुलभता भी बढ़ती है, क्योंकि हर हिस्से का अलग से परीक्षण किया जा सकता है। सरल शुरुआत करें: एक वर्ग को fields के माध्यम से दूसरे पर निर्भर बनाएँ।
संयोजन बनाम विरासत
विरासत एक-प्रकार-का संबंध है (वर्गाकार आकृति किसी आकृति का एक प्रकार है)। संयोजन के पास है संबंध है (Car के पास Engine है)। पहले संयोजन को प्राथमिकता दें; विरासत तभी लें जब वास्तविक एक-प्रकार-का संबंध स्वाभाविक रूप से उपयुक्त हो।
स्वामित्व और जीवन-चक्र
जब कोई वस्तु अपने हिस्सों की मालिक होती है, तो उन्हें बनाने और उपयोग करने की ज़िम्मेदारी उसी की होती है। हिस्से सामान्यतः अकेले मौजूद नहीं रहते; वे पूरी वस्तु के मौजूद होने के कारण अस्तित्व में होते हैं। यह विचार ज़िम्मेदारियों को स्पष्ट रखता है।
रचना के चरण
पूरी वस्तु (Car) और हिस्सों (Engine) को चुनें। लिखें कि प्रत्येक हिस्सा क्या जानता है और क्या करता है। फिर हिस्सों की वस्तुओं को पूरी वस्तु inside fields के रूप में रखें और उन हिस्सों का उपयोग करके काम करने वाली छोटी विधियाँ लिखें।
कोड: के-पास-है उदाहरण
कोड: Car के पास Engine है और वह उसकी विधि को बुलाती है। हिस्सा पहले बनाकर उसे देना कोड को सरल और लचीला रखता है।
public class Main {
// Very small classes to show composition (has-a)
static class Engine {
int horsepower;
Engine(int hp) { horsepower = hp; }
String info() { return horsepower + " HP engine"; }
}
static class Car {
String model;
Engine engine; // Car has an Engine (composition)
Car(String m, Engine e) {
model = m;
engine = e; // store the part
}
void printSpecs() {
// Use the part to build a message
System.out.println(model + " with " + engine.info());
}
}
public static void main(String[] args) {
// Create part first
Engine e = new Engine(90);
// Assemble whole with the part
Car c = new Car("CityCar", e);
// Use the whole, which delegates to its part
c.printSpecs();
}
}
संयोजन जाँच
त्वरित जाँच: कौन-सा कथन संयोजन का सबसे अच्छा वर्णन करता है?
पुनरावलोकन
पुनरावलोकन: संयोजन के-पास-है संबंध का मॉडल बनाता है। एक छोटे हिस्से से शुरुआत करें, उसे स्पष्ट काम दें और सरल विधि-कॉल के माध्यम से पूरी वस्तु को उसका उपयोग करने दें।
एआई शिक्षक के साथ Java सीखें — निःशुल्क
अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।
- पाठ्यक्रम
- 104
- पाठ
- 374
अक्सर पूछे जाने वाले प्रश्न
क्या “Object Composition” पाठ निःशुल्क है?
हाँ—“Object Composition” का पूरा पाठ यहाँ वेब पर निःशुल्क पढ़ा जा सकता है। इंटरैक्टिव अभ्यास (अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर) करने और Java Academy पाठ्यक्रम का बाकी हिस्सा अनलॉक करने के लिए CoddyKit PRO लें। Java Academy पाठ्यक्रम में कुल 3 पाठ शामिल हैं।
“Object Composition” में मैं क्या सीखूँगा?
छोटे objects को मिलाकर बड़े objects बनाइए। Composition has-a संबंधों को दर्शाता है, जैसे ऐसा Car जिसमें Engine होता है आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ Java Academy का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।
क्या Java Academy शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?
पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर Java Academy शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 3 में से 2वाँ पाठ है।
“Object Composition” पाठ पूरा करने में कितना समय लगता है?
CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।
क्या मैं इस Java Academy पाठ में कोड लिख और चला सकता हूँ?
हाँ। हर Java Academy पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।
इस पाठ्यक्रम के सभी पाठ
- this और toString/equals/hashCode
- Object Composition
- डोमेन का मॉडल बनाना (UML→Code)