जावा में ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग का परिचय
जावा एक ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग है जिसे जेम्स गोसलिंग द्वारा डिजाइन किया गया था। यह एक सामान्य-उद्देश्य वाली प्रोग्रामिंग भाषा है, जो क्लास-आधारित है और समवर्ती प्रोग्रामिंग सुविधाओं वाली है। इसमें मल्टी-थ्रेडिंग फीचर भी हैं। यह स्थिर, सुरक्षित और दृढ़ता से टाइप की गई प्रोग्रामिंग भाषा है। इसे ओरेकल कॉर्पोरेशन (तब सन कॉर्पोरेशन) द्वारा विकसित और रखरखाव किया गया था। इसके ‘फ़ाइल एक्सटेंशन नाम’ .java या .class हैं। यह पहली बार वर्ष 1995 में दिखाई दिया। यह उन अनुप्रयोगों को विकसित करने का इरादा है, जिन्हें एक बार लिखा जा सकता है और कहीं भी चलाया जा सकता है। यह क्लाइंट-सर्वर प्रकार के अनुप्रयोगों के लिए सबसे लोकप्रिय है। यह जीएनयू जनरल पब्लिक लाइसेंस और जावा कम्युनिटी प्रोसेस के तहत लाइसेंस प्राप्त है। जावा का नवीनतम संस्करण 10 है जो मार्च 2018 में जारी किया गया है।
जावा में ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग की व्याख्या
जावा प्रोग्रामिंग भाषा ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग पद्धति या प्रतिमान कि इस तरह के वर्ग, वस्तुओं, विरासत, बहुरूपता, इनकैप्सुलेशन, और अमूर्त नीचे के रूप में वर्णित किया जा सकता है जो के रूप में अवधारणाओं के विभिन्न प्रकार है पर आधारित है:
वर्ग: यह वस्तु का एक खाका है जो उन क्षेत्रों या विशेषताओं और विधियों को परिभाषित करता है जहां वास्तविक कार्यक्षमता निहित है। इन विशेषताओं और विधियों को सदस्य कहा जाता है और सदस्यों की घोषणा के दौरान परिभाषित अभिगम संशोधकों के आधार पर इन सदस्यों तक पहुँचा जा सकता है।
ऑब्जेक्ट: एक ऑब्जेक्ट को क्लास के एक उदाहरण के रूप में कहा जाता है जिसे क्लास के कंस्ट्रक्टर को कॉल करके घोषित और इंस्टेंट किया जा सकता है। एक वस्तु में राज्य होगा और राज्य में डेटा होगा जो वर्ग की विशेषताओं द्वारा आयोजित किया जाएगा।
इनहेरिटेंस: यह तीसरी चरण की प्रक्रिया है जिसमें डेटा का निरीक्षण, सफाई, परिवर्तन और बेकार जानकारी को कम करके और सूचना के महत्वपूर्ण सेट में बदलकर मौजूदा डेटा से कुछ मूल्यवान जानकारी प्राप्त करने के लिए कल्पना की जाएगी।
बहुरूपता: बहुरूपता को एक ही कार्य को विभिन्न संभावित तरीकों से करने की प्रक्रिया के रूप में परिभाषित किया गया है। जावा में, पॉलीमोर्फिज्म को दो तरीकों से प्राप्त किया जा सकता है जिसे विधि अधिभार और विधि अधिभावी कहा जाता है। Method Overloading को Compile Time Polymorphism भी कहा जाता है जबकि Method Overriding को Run Time Polymorphism भी कहा जाता है।
एनकैप्सुलेशन: यह एन्कैप्सुलेटिंग की प्रक्रिया है जिसका अर्थ है कोड को एक इकाई या मॉड्यूल में छिपाना या बांधना या लपेटना जो कि जावा में क्लास के रूप में परिभाषित है। जावा में एक वर्ग का उपयोग करके ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग की इनकैप्सुलेशन सुविधा प्राप्त की जा सकती है। एक सादे पुराने जावा ऑब्जेक्ट या जावा बीन को इनकैप्सुलेटेड कहा जाता है क्योंकि क्लास के सदस्य निजी (एक्सेस मॉडिफायर) होते हैं, जिन्हें क्लास में गेटर्स और सेटर्स का इस्तेमाल करके ही एक्सेस किया जा सकता है।
अमूर्तता : ऑब्जेक्ट-ओरिएंटेड फ़ीचर एब्स्ट्रक्शन को कार्यान्वयन वर्ग के तरीकों को लागू करने के लिए केवल आवश्यक इंटरफेस को उजागर करने या तरीकों तक पहुंचने के द्वारा फंक्शंस के कार्यान्वयन को छिपाने की प्रक्रिया के रूप में परिभाषित किया जा सकता है। इंटरफ़ेस और अमूर्त वर्ग का उपयोग करके जावा प्रोग्रामिंग भाषा में अमूर्तता प्राप्त की जा सकती है ।
जावा में ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग का उपयोग करने के फायदे
- यह विभिन्न प्रकार के एप्लिकेशन और उनके रखरखाव को अतिरिक्त लागतों के बिना आसानी से विकसित करने में मदद करता है।
- यह डिजाइन में छोटे बदलाव करके आसानी से बदलावों को लागू करने में मदद करता है और इस तरह से ग्राहक के लिए जरूरी बड़े बदलावों के लिए यह और अधिक अनुकूल हो जाता है।
- कोड में प्रतिरूपता आसानी से बग्स को ठीक करके समस्या निवारण प्रक्रिया और रखरखाव में मदद करता है।
- कोड का पुन: उपयोग मुख्य है
- यह लगातार कार्यक्षमता परिवर्तन की दिशा में अधिक लचीलापन प्रदान करता है।
जावा में ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग के अनुप्रयोग
जावा में ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग के अनुप्रयोग विभिन्न हैं और नीचे इस वैचारिक क्षेत्र में उदाहरण हैं:
- कक्षा: एक कक्षा को नीचे के रूप में परिभाषित किया जा सकता है:
public class Employee {
private int employeeId;
private String employeeName;
public int getSalary(int basicPay, int da, int hra) {
int salary = basicPay + da + hra;
return salary;
}
}
उपरोक्त वर्ग के कर्मचारी में कर्मचारी, कर्मचारी का नाम और गेटसैलेरी () विधि वर्ग के सदस्य होते हैं जबकि कर्मचारी आईडी और कर्मचारी का नाम गुण या क्षेत्र होते हैं और गेटसैलेरी () वह विधि होती है जहाँ वास्तविक काम हो जाता है।
- वस्तु:उपरोक्त वर्ग के कर्मचारी के लिए नीचे की ओर एक वस्तु बनाई जा सकती है।
Employee employeeObject = new Employee();
उपरोक्त पंक्ति में, नए कीवर्ड का उपयोग करके एक ऑब्जेक्ट बनाया जाता है और कर्मचारी () खाली तर्क कंस्ट्रक्टर है जो ऑब्जेक्ट बनाने के लिए उपयोग किया जाता है। कर्मचारी वस्तु वर्ग कर्मचारी के लिए किया गया संदर्भ है।
- बहुरूपता:यह विधि अधिभावी और अधिभार द्वारा प्राप्त किया जा सकता है।
public int getSalary(int basicPay, int da, int hra) {
int salary = basicPay + da + hra;
return salary;
}
उपरोक्त विधि में एक और तर्क विधि getSalary में जोड़ा जा सकता है () नीचे दिए गए कोष्ठक में जोड़कर:
public int getSalary(int basicPay, int da, int hra, int bonus) {
int salary = basicPay + da + hra + bonus;
return salary;
}
- एनकैप्सुलेशन:यह नीचे के रूप में प्राप्त किया जा सकता है:
public class Employee {
private int employeeId;
private String employeeName;
public int getEmployeeId() {
return employeeId;
}
public void setEmployeeId(int employeeId) {
this.employeeId = employeeId;
}
public String getEmployeeName() {
return employeeName;
}
public void setEmployeeName(String employeeName) {
this.employeeName = employeeName;
}
}
उपरोक्त वर्ग के कर्मचारी के दो क्षेत्र (निजी) और चार विधियाँ (गेटर्स और सेटर) हैं जिनका उपयोग उपरोक्त निजी निजी विशेषताओं तक पहुँचने के लिए किया जाएगा।
- अमूर्त:यह कार्यान्वयन की कार्यक्षमता को छिपाने की प्रक्रिया है।
उपरोक्त विधि में getSalary () , वेतन के सभी घटकों के जोड़ का आंतरिक कार्य विधि के अंदर छिपा हुआ है और केवल विधि तर्कों के रूप में मानों को पास करके विधि नाम का उपयोग करके इसे एक्सेस किया जा सकता है। इस प्रकार, विधि के लिए व्यक्तिगत वेतन घटकों को पास करके कुल वेतन प्राप्त किया जाएगा।
निष्कर्ष – जावा में ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग
जावा की अवधारणा में ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग के लिए वेब दुनिया, स्टैंडअलोन और कई अन्य क्षेत्रों के अनुप्रयोगों के विभिन्न और कई गुना क्षेत्र हैं। जावा में ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग का औसत उपयोग या अनुप्रयोग अधिकांश एंटरप्राइज़ अनुप्रयोगों के लिए शीर्ष 5 पदों पर रहा है और लगभग हर उद्यम में रहा है क्योंकि अब तक की सबसे अधिक मांग वाली प्रौद्योगिकी है। जावा में ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग का उपयोग करके एप्लिकेशन को विकसित करने के लिए आईडीई जैसे भारी संख्या में उपकरण उपलब्ध हैं और बहुत सी कंपनियां जो विकास और रखरखाव में आसानी के कारण अपनी आवश्यकताओं के लिए जावा-आधारित अनुप्रयोगों का उपयोग कर रही हैं। जावा में विकसित स्टैंडअलोन ऐप का इस्तेमाल ज्यादातर कई कंपनियां अपने इन-हाउस टूल्स के लिए करती हैं और जावा स्विंग GUI टूलकिट के आधार पर विकसित की जाती हैं और अब इसके हालिया वर्जन में Java FX कहा जाता है। जावा 8 के हालिया संस्करण में इसकी स्ट्रीम एपीआई के साथ शानदार कार्यात्मक प्रोग्रामिंग सुविधाएँ और समानांतर प्रसंस्करण क्षमताएं हैं।
अनुशंसित लेख:
यह जावा में ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग के लिए एक मार्गदर्शक रहा है। यहां हमने जावा में विभिन्न अवधारणाओं और ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग के अनुप्रयोगों पर चर्चा की है। अधिक जानने के लिए आप निम्नलिखित लेख को भी देख सकते हैं –