Object as Argument in Hindi
/ BCA / Programming with C and CPP
Object as Argument in Hindi
Object as Argument in Hindi
What is Object as Argument in Hindi
जब हम function को किसी class के object को argument के रूप में भेजते हैं, तो इसे Object as Argument कहा जाता है। यह Object oriented programming की एक बहुत ही महत्वपूर्ण विशेषता होती है, खासकर C++ जैसी भाषाओं में। जैसे हम एक normal variable (int, float, char) को function में parameter के रूप में भेजते हैं, वैसे ही हम object को भी भेज सकते हैं।
इसका मुख्य उद्देश्य होता है कि हम एक function को किसी class के object का उपयोग करके data provide करें, ताकि वह function उस object पर कोई operation कर सके। इससे हमारा code modular, reusable और readable बनता है।
Passing Object by Value in Hindi
जब हम किसी function को object को value के रूप में भेजते हैं, तो इसका मतलब यह होता है कि object की एक copy function को दी जाती है। इसका सीधा मतलब यह है कि function के अंदर object में जो भी बदलाव होते हैं, वे केवल उस copy तक सीमित रहते हैं। original object पर कोई असर नहीं पड़ता।
उदाहरण:
#include <iostream>
using namespace std;
class Student {
public:
int marks;
void setMarks(int m) {
marks = m;
}
void showMarks() {
cout << "Marks: " << marks << endl;
}
};
void update(Student s) {
s.marks += 10;
cout << "Updated inside function: " << s.marks << endl;
}
int main() {
Student s1;
s1.setMarks(80);
update(s1);
s1.showMarks();
return 0;
}
Output:
Updated inside function: 90
Marks: 80
इस example से साफ पता चलता है कि function में जो object गया था, उसकी copy में बदलाव हुआ, original object में कोई बदलाव नहीं हुआ।
Passing Object by Reference in Hindi
जब हम किसी function को object को reference के रूप में पास करते हैं, तो इसका अर्थ होता है कि हम actual object का address function को दे रहे हैं। अब अगर function उस object में कोई भी change करता है, तो वह actual object में reflect होता है।
उदाहरण:
#include <iostream>
using namespace std;
class Student {
public:
int marks;
void setMarks(int m) {
marks = m;
}
void showMarks() {
cout << "Marks: " << marks << endl;
}
};
void update(Student &s) {
s.marks += 10;
cout << "Updated inside function: " << s.marks << endl;
}
int main() {
Student s1;
s1.setMarks(80);
update(s1);
s1.showMarks();
return 0;
}
Output:
Updated inside function: 90
Marks: 90
यहां object को reference के रूप में pass किया गया, इसलिए function द्वारा किया गया बदलाव actual object में भी reflect हुआ।
Benefits of Object as Argument in Hindi
- Code Reusability: जब हम object को argument के रूप में पास करते हैं, तो एक ही function को multiple objects के साथ use किया जा सकता है। इससे code बार-बार लिखने की आवश्यकता नहीं होती।
- Encapsulation का पालन: object में data और function दोनों encapsulated रहते हैं, और जब हम object को pass करते हैं, तो उसी structure का पालन होता है।
- Data Sharing: जब object को reference से pass किया जाता है, तो functions के बीच actual data share होता है।
- Memory Efficient: reference से object को pass करना memory के लिए efficient होता है क्योंकि यह object की copy नहीं बनाता।
- Real-world representation: object-based arguments से हम real-world scenarios को program में आसानी से simulate कर सकते हैं, जैसे student, employee, product आदि।
Difference Table between Value and Reference
| Aspect | Passing by Value | Passing by Reference |
|---|---|---|
| Object Copy | एक copy बनती है | कोई copy नहीं बनती |
| Original Object पर असर | नहीं पड़ता | सीधा असर पड़ता है |
| Memory Usage | ज्यादा memory use होती है | कम memory use होती है |
| Speed | थोड़ा slow हो सकता है | fast होता है |
Important Points in Hindi
- Object को argument के रूप में pass करना एक बहुत ही जरूरी concept है Object Oriented Programming में।
- Value से pass करने पर function object की copy पर काम करता है।
- Reference से pass करने पर function actual object को modify कर सकता है।
- Reference passing ज्यादा efficient और real-time applications के लिए उपयुक्त होता है।
Real Life Example for Better Understanding
मान लीजिए आपके पास एक Student class है और आप 100 students के लिए result calculate करना चाहते हैं। आप एक function बनाते हैं जो result निकालता है और उसमें हर बार student का object भेजते हैं। यह function उसी object के data को पढ़ता और modify करता है। इस तरह object को function में भेजना बहुत ही powerful technique होती है।
उसी तरह bank application में account object को function में भेजकर balance update किया जा सकता है। यह सभी काम object as argument द्वारा ही संभव होते हैं।