जब हम जावा में कक्षा के बारे में बात करते हैं तो हमारा क्या मतलब होता है? यह निश्चित रूप से ऐसा वर्ग नहीं है जैसा आपने स्कूल में छात्रों और शिक्षकों के साथ किया होगा। एक वर्ग आपके कोड में किसी वस्तु के लिए एक खाका है।
जावा एक ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग लैंग्वेज है। इसका मतलब है कि इसमें कई विशेषताएं शामिल हैं जो आपको पुन:प्रयोज्य कोड लिखने में मदद करती हैं। ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग सभी आकारों के कार्यक्रमों के लिए उपयोगी है क्योंकि यह दोहराव को कम करने में मदद करता है, जो बदले में आपके कोड को अधिक पठनीय बनाता है।
इस गाइड में, हम जावा में दो महत्वपूर्ण अवधारणाओं के बारे में बात करने जा रहे हैं:वर्ग और वस्तु। उदाहरणों के संदर्भ में हम चर्चा करेंगे कि वे कैसे काम करते हैं, और आप उन्हें कैसे लागू कर सकते हैं।
जावा क्लास क्या है?
एक वर्ग किसी वस्तु के लिए एक खाका की तरह होता है। जबकि एक शयनकक्ष के लिए एक खाका कह सकता है कि किस प्रकार के दरवाजे और खिड़कियां स्थापित की जा रही हैं, एक वर्ग आपके कार्यक्रम को बताता है कि किसी वस्तु को किन तरीकों और मूल्यों तक पहुंचने और स्टोर करने में सक्षम होना चाहिए।
कक्षाएं उपयोगी होती हैं क्योंकि वे आपको एक विशेष प्रकार के डेटा के लिए एक संरचना घोषित करने की अनुमति देती हैं जिसे आप ऑब्जेक्ट घोषित करके कई बार संदर्भित कर सकते हैं।
आइए कर्मचारी नामक एक वर्ग को परिभाषित करें जिसमें एक चर और दो विधियाँ हैं:
पब्लिक क्लास कर्मचारी {बूलियन isOnVacation; सार्वजनिक शून्य प्रारंभ अवकाश () {isOnVacation =सत्य; System.out.println ("अब आप छुट्टी पर हैं।"); } सार्वजनिक शून्य समाप्ति अवकाश () { isOnVacation =असत्य; System.out.println ("अब आप छुट्टी पर नहीं हैं।"); }}पूर्व>हमारे कोड में, हमने दो विधियों को परिभाषित किया है:एक कर्मचारी की छुट्टी शुरू करने के लिए, और दूसरी कर्मचारी की छुट्टी समाप्त करने के लिए। हमने इस जानकारी को ट्रैक करने के लिए isOnVacation नामक एक बूलियन इंस्टेंस वैरिएबल घोषित किया है।
हमने अभी तक अपने कर्मचारी वर्ग का कोई ऑब्जेक्ट नहीं बनाया है। हमने केवल उस खाका को रेखांकित किया है जो बाद में परिभाषित करेगा कि वे वस्तुएं कैसे आकार लेती हैं।
81% प्रतिभागियों ने कहा कि बूटकैंप में भाग लेने के बाद उन्हें अपनी तकनीकी नौकरी की संभावनाओं के बारे में अधिक आत्मविश्वास महसूस हुआ। आज ही एक बूटकैंप से मिलान करें।
बूटकैंप शुरू करने से लेकर अपनी पहली नौकरी खोजने तक, औसत बूटकैंप ग्रेड ने करियर संक्रमण में छह महीने से भी कम समय बिताया।
जावा ऑब्जेक्ट क्या है?
एक वस्तु एक विशेष वर्ग का एक उदाहरण है। आइए पहले से हमारे कर्मचारी ब्लूप्रिंट का उपयोग करके एक वस्तु बनाएं। हम जॉन नामक एक वस्तु बनाएंगे:
कर्मचारी जॉन =नया कर्मचारी ();यह कोड कर्मचारी वर्ग का एक उदाहरण बनाता है। ध्यान दें कि हमने अपनी कक्षा के नाम के बाद दो कोष्ठक जोड़े हैं, जो हमारे कोड को कर्मचारी वर्ग के संदर्भ में बताता है।
new
कीवर्ड हमारे कोड को उस वर्ग का एक नया ऑब्जेक्ट बनाने के लिए कहता है।
अब, हमारे ऑब्जेक्ट विधियों का उपयोग करें:
कर्मचारी जॉन =नया कर्मचारी ();john.startVacation();john.endVacation();आइए अपना कार्यक्रम चलाते हैं और देखते हैं कि क्या होता है:
अब आप छुट्टी पर हैं। अब आप छुट्टी पर नहीं हैं।हमारा ऑब्जेक्ट हमारे कर्मचारी वर्ग में परिभाषित दो विधियों को कॉल करता है। यह उन विधियों के भीतर कोड को चलाने का कारण बनता है। जब हम
john.startVacation()
निष्पादित करते हैं , उदाहरण के लिए,isOnVacation
. का मान बूलियन सत्य पर सेट है, और संदेश "अब आप छुट्टी पर हैं।" जावा कंसोल पर मुद्रित किया जाता है।
हालांकि हमने वेरिएबल को परिभाषित किया है
isOnVacation
हमारी कक्षा के अंदर, हम उस मान तक पहुँच सकते हैं जो इसे किसी विशेष वस्तु में सौंपा गया है। इस कोड पर विचार करें:
कर्मचारी जॉन =नया कर्मचारी ();जॉन.स्टार्टवेकेशन ();जॉन.एंडवैकेशन ();System.out.println(john.isOnVacation);यह कोड जॉन की छुट्टी शुरू और समाप्त करेगा - जैसे हमारे पिछले उदाहरण में - और फिर यह
isOnVacation
के मूल्य का प्रिंट आउट लेगा कंसोल के लिए चर:अब आप छुट्टी पर हैं।अब आप छुट्टी पर नहीं हैं।झूठीहमारे
isOnVacation
. का मान विधिfalse
है ।जावा कंस्ट्रक्टर्स
कंस्ट्रक्टर विधि आपको एक वर्ग में डेटा को इनिशियलाइज़ करने की अनुमति देती है। उपरोक्त हमारे उदाहरण में, हमने अपनी कक्षा के मुख्य भाग में एक चर घोषित किया था लेकिन हमने इसे एक डिफ़ॉल्ट मान के साथ प्रारंभ नहीं किया था।
निम्नलिखित कोड पर विचार करें:
<पूर्व>वर्ग कर्मचारी { बूलियन isOnVacation; सार्वजनिक कर्मचारी () {isOnVacation =झूठा; System.out.println ("आरंभिक मान।"); } ...}
अब, हमारे कर्मचारी वर्ग का एक ऑब्जेक्ट बनाते हैं:
कर्मचारी जॉन =नया कर्मचारी ();जॉन.स्टार्टवेकेशन ();
जब हम अपना john
बनाते हैं ऑब्जेक्ट, हमारा कंस्ट्रक्टर स्वचालित रूप से चलेगा। यह विधि आपको उन डिफ़ॉल्ट मानों को सेट करने की अनुमति देती है जिन्हें आप अपनी कक्षा में रखना चाहते हैं। हमारी विधि वापस आती है:
आरंभिक मान। अब आप छुट्टी पर हैं।
निष्पादन के बाद, हमारा कंस्ट्रक्टर isOnVacation
. का मान सेट करता है झूठा करने के लिए। इसके बाद यह Initialized values
को प्रिंट करता है हमारे कंसोल के लिए।
एकाधिक ऑब्जेक्ट बनाना
क्या होगा अगर हमारे पास दो कर्मचारी हैं? क्या आप अभी भी उसी कक्षा का उपयोग कर सकते हैं? हां! कक्षाओं का उपयोग करने का यह लाभ है:आप एक ही वर्ग का उपयोग करके कई वस्तुओं की घोषणा कर सकते हैं।
निम्नलिखित मुख्य कार्यक्रम पर विचार करें:
कर्मचारी जॉन =नया कर्मचारी ();जॉन.स्टार्टवैकेशन ();जॉन.एंडवैकेशन ();System.out.println(john.isOnVacation);कर्मचारी इयान =नया कर्मचारी ();ian.startVacation();System. out.println(ian.isOnVacation);
चलिए अपना कोड चलाते हैं:
आरंभिक मान।अब आप छुट्टी पर हैं।अब आप छुट्टी पर नहीं हैं।झूठे आरंभिक मान।अब आप छुट्टी पर हैं।सच
हमने अपने कर्मचारी वर्ग के दो ऑब्जेक्ट बनाए हैं:जॉन और इयान। हमारे कोड में, हमने जॉन की छुट्टी शुरू और समाप्त कर दी है। फिर, हमने इयान के लिए एक वस्तु बनाई और उसकी छुट्टी शुरू की।
जब हम john.isOnVacation
. का मान प्रिंट करते हैं , झूठा लौटाया जाता है; जब हम इयान की वस्तु के लिए ऐसा ही करते हैं, तो सत्य वापस आ जाता है। ऐसा इसलिए है क्योंकि हमारी कक्षा की प्रत्येक वस्तु अलग है। वे एक ही ब्लूप्रिंट का उपयोग करते हैं, लेकिन वे अपने स्वयं के मूल्यों को संग्रहीत कर सकते हैं।
निष्कर्ष
क्लास और ऑब्जेक्ट ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग की आधारशिला हैं। कक्षाएं आपको ब्लूप्रिंट को परिभाषित करने की अनुमति देती हैं, जिससे आप वस्तुओं को परिभाषित कर सकते हैं।
क्या आप एक चुनौती के लिए तैयार हैं? एक कक्षा के साथ एक प्रोग्राम बनाएं जो इस बारे में जानकारी ट्रैक करे कि किसी छात्र ने अपनी परीक्षा उत्तीर्ण की है या नहीं। आवश्यक:
- छात्र ने अपनी परीक्षा उत्तीर्ण की है या नहीं इसका ट्रैक रखने के लिए एक चर संग्रहीत करें।
- दो विधियां हैं जो बदलती हैं कि छात्र ने अपनी परीक्षा उत्तीर्ण की है या नहीं।
- वैकल्पिक रूप से, आप यह गणना करने के लिए "if" कथन का उपयोग कर सकते हैं कि किसी छात्र की परीक्षा को उनके संख्यात्मक ग्रेड के आधार पर पास/असफल के रूप में चिह्नित किया जाना चाहिए या नहीं।
अब आप एक विशेषज्ञ की तरह जावा में कक्षाओं और वस्तुओं के साथ काम करना शुरू करने के लिए तैयार हैं!