oops concepts in c++ in hindi
ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग एक प्रकार की प्रोग्रामिंग है जो वस्तुओं का उपयोग करती है और इसके कामकाज को वर्गीकृत करती है। ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग इनहेरिटेंस, पॉलीमॉर्फिज्म, डेटा छुपाने आदि जैसी वास्तविक दुनिया की संस्थाओं पर आधारित है। इसका उद्देश्य इन डेटा सेट पर डेटा और फ़ंक्शन कार्य को एक साथ बांधना है ताकि उनके उपयोग को प्रतिबंधित किया जा सके।
ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग की कुछ बुनियादी अवधारणाएं हैं :-
Class
एक वर्ग एक डेटा-प्रकार है जिसके अपने सदस्य होते हैं यानी डेटा सदस्य और सदस्य कार्य। यह ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग लैंग्वेज में किसी ऑब्जेक्ट का ब्लूप्रिंट है। यह c++ में ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग का बेसिक बिल्डिंग ब्लॉक है। एक वर्ग के सदस्यों को कक्षा का एक उदाहरण बनाकर प्रोग्रामिंग भाषा में पहुँचा जाता है।
वर्ग के कुछ महत्वपूर्ण गुण हैं :-
•Class एक उपयोगकर्ता द्वारा परिभाषित डेटा-प्रकार है।
•एक वर्ग में डेटा सदस्य और सदस्य कार्य जैसे सदस्य होते हैं।
•डेटा सदस्य वर्ग के चर हैं।
•सदस्य फ़ंक्शन वे विधियाँ हैं जिनका उपयोग डेटा सदस्यों में हेरफेर करने के लिए किया जाता है|
•डेटा सदस्य वर्ग के गुणों को परिभाषित करते हैं जबकि सदस्य कार्य वर्ग के व्यवहार को परिभाषित करते हैं।
एक वर्ग में कई वस्तुएँ हो सकती हैं जिनमें गुण और व्यवहार होते हैं जो उन सभी के लिए समान होते हैं।
Syntax
class class_name {
data_type data_name;
return_type method_name(parameters);
}
Object
एक वस्तु एक वर्ग का एक उदाहरण है। यह विशेषताओं और व्यवहार वाली एक इकाई है जिसका उपयोग ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग में किया जाता है। एक वस्तु वह इकाई है जिसे स्मृति आवंटित करने के लिए बनाया गया है। एक वर्ग जब परिभाषित किया जाता है तो उसके पास मेमोरी चंक नहीं होता है जिसे ऑब्जेक्ट बनते ही आवंटित किया जाएगा।
Syntax
class_name object_name;
Example:-
#include<iostream>
using namespace std;
class calculator {
int number1;
int number2;
char symbol;
public :
void add() {
cout<<"The sum is "<<number1 + number2 ;
}
void subtract() {
cout<<"The subtraction is "<<number1 - number2 ;
}
void multiply() {
cout<<"The multiplication is "<<number1 * number2 ;
}
void divide() {
cout<<"The division is "<<number1 / number2 ;
}
calculator (int a , int b , char sym) {
number1 = a;
number2 = b;
symbol = sym;
switch(symbol){
case '+' : add();
break;
case '-' : add();
break;
case '*' : add();
break;
case '/' : add();
break;
default : cout<<"Wrong operator";
}
}
};
int main() {
calculator c1(12 , 34 , '+');
}
Output:-
The sum is 46
Encapsulation
ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग में, एनकैप्सुलेशन एक इकाई में डेटा और सूचना को एक साथ लपेटने की अवधारणा है। इनकैप्सुलेशन की एक औपचारिक परिभाषा होगी: एनकैप्सुलेशन डेटा और संबंधित फ़ंक्शन को इकट्ठा करने के लिए बाध्यकारी है जो डेटा में हेरफेर कर सकता है।
आइए इस विषय को एक आसान वास्तविक जीवन उदाहरण से समझते हैं|
हमारे कॉलेजों में, हमारे पास कंप्यूटर विज्ञान, सूचना तकनीक जैसे प्रत्येक पाठ्यक्रम के लिए विभाग हैं। , इलेक्ट्रॉनिक्स, आदि। इन विभागों में से प्रत्येक के अपने स्वयं के छात्र और विषय हैं जिन पर नज़र रखी जाती है और पढ़ाया जा रहा है। आइए प्रत्येक विभाग को एक वर्ग के रूप में सोचें जो उस विभाग के छात्रों और पढ़ाए जाने वाले विषयों के बारे में डेटा को समाहित करता है। इसके अलावा एक विभाग के कुछ निश्चित नियम और दिशानिर्देश हैं जिनका छात्रों को पालन करना होता है कि पाठ्यक्रम जैसे समय, सीखने के दौरान उपयोग की जाने वाली विधियां इत्यादि। यह वास्तविक जीवन में इनकैप्सुलेशन है, डेटा हैं और डेटा में हेरफेर करने के तरीके हैं।
ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग में इनकैप्सुलेशन की अवधारणा के कारण एक और बहुत महत्वपूर्ण अवधारणा संभव है, यह डेटा एब्स्ट्रैक्शन या डेटा हिडिंग है। यह संभव है क्योंकि इनकैप्सुलेटिंग डेटा को केवल वही जानकारी दिखाता है जिसे प्रदर्शित करने की आवश्यकता होती है।
Polymorphism
नाम परिभाषित करता है बहुरूपता कई रूपों है। जिसका अर्थ है बहुरूपता कई रूपों का उपयोग करके कुछ काम करने के लिए वस्तु उन्मुख प्रोग्रामिंग की क्षमता है। विधि का व्यवहार उस प्रकार या स्थिति पर निर्भर करता है जिसमें विधि कहा जाता है।
आइए एक वास्तविक जीवन का उदाहरण लें, स्थिति के आधार पर एक व्यक्ति के एक से अधिक व्यवहार हो सकते हैं। एक महिला की तरह एक माँ, प्रबंधक और एक बेटी और यह उसके व्यवहार को परिभाषित करता है। यहीं से बहुरूपता की अवधारणा आई।
सी ++ प्रोग्रामिंग भाषा में, बहुरूपता दो तरीकों से प्राप्त की जाती है। वे ऑपरेटर ओवरलोडिंग और फंक्शन ओवरलोडिंग हैं।
Operator overloading
ऑपरेटर ओवरलोडिंग में और ऑपरेटर के उपयोग के विभिन्न उदाहरणों में कई व्यवहार हो सकते हैं।
Function overloading
एक ही नाम वाले फंक्शन जो किसी शर्त के आधार पर कई प्रकार के कर सकते हैं।
Inheritance
यह एक वर्ग की अन्य वर्ग के गुणों या विशेषताओं को प्राप्त करने या प्राप्त करने की क्षमता है। यह बहुत महत्वपूर्ण और वस्तु उन्मुख कार्यक्रम है क्योंकि यह पुन: प्रयोज्यता की अनुमति देता है यानी विरासत का उपयोग करके किसी अन्य वर्ग में परिभाषित विधि का उपयोग करना। वह वर्ग जो अन्य वर्ग से गुण प्राप्त करता है उसे बाल वर्ग या उपवर्ग के रूप में जाना जाता है और जिस वर्ग से गुण विरासत में मिले हैं वह आधार वर्ग या मूल वर्ग है।
सी प्लस प्लस प्रोग्रामिंग भाषा निम्नलिखित प्रकार की विरासत का समर्थन करती है|
•single inheritance
•multiple inheritance
•multi level inheritance
•Hierarchical inheritance
•hybrid inheritance
Abstraction
डेटा एब्स्ट्रैक्शन या डेटा छिपाना डेटा छिपाने और अंतिम उपयोगकर्ता को केवल प्रासंगिक डेटा दिखाने की अवधारणा है। यह भी एक महत्वपूर्ण हिस्सा वस्तु उन्मुख प्रोग्रामिंग है।
आइए अवधारणा को बेहतर ढंग से समझने के लिए वास्तविक जीवन का उदाहरण लें, जब हम बाइक की सवारी करते हैं तो हम केवल यह जानते हैं कि ब्रेक दबाने से बाइक रुक जाएगी और थ्रॉटल को घुमाने में तेजी आएगी लेकिन आप नहीं जानते कि यह कैसे काम करता है और यह भी नहीं लगता है कि हमें पता होना चाहिए यही कारण है कि यह अवधारणा डेटा एब्स्ट्रैक्शन के समान ही किया जाता है।
सी प्लस प्लस प्रोग्रामिंग भाषा में दो तरीके लिखें जिनका उपयोग करके हम डेटा एब्स्ट्रैक्शन को पूरा कर सकते हैं –
•using class
•using header file
[…] BASIC CONCEPTS OF OBJECTS ORIENTED PROGRAMMING […]