
Object Oriented Programming in Java | Classes, Objects, new Keyword | Java Full Course #12
Coder Army
Overview
यह वीडियो ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग (OOP) की मूल बातें समझाती है, जो जावा में कोड लिखने का एक तरीका है। यह पारंपरिक कोडिंग में आने वाली समस्याओं को उजागर करती है, जैसे कि एक ही इकाई (जैसे छात्र) की जानकारी को अलग-अलग वेरिएबल्स में स्टोर करना, जिससे कोड को समझना और प्रबंधित करना मुश्किल हो जाता है। OOP इन समस्याओं को हल करने के लिए 'ऑब्जेक्ट्स' की अवधारणा का परिचय देता है, जो वास्तविक दुनिया की संस्थाओं का प्रतिनिधित्व करते हैं। यह बताता है कि क्लास कैसे एक ऑब्जेक्ट के लिए ब्लूप्रिंट के रूप में कार्य करती है, जिसमें डेटा (विशेषताएं) और व्यवहार (कार्य) दोनों शामिल होते हैं। वीडियो यह भी बताता है कि ऑब्जेक्ट्स को मेमोरी में कैसे बनाया जाता है (हीप और स्टैक का उपयोग करके) और उन्हें रेफरेंस वेरिएबल्स के माध्यम से कैसे एक्सेस किया जाता है, साथ ही नेमिंग कन्वेंशन और ऑब्जेक्ट्स के महत्व पर भी प्रकाश डालता है।
Save this permanently with flashcards, quizzes, and AI chat
Chapters
- एक ही इकाई (जैसे छात्र) की जानकारी को अलग-अलग वेरिएबल्स (नाम, आयु, रोल नंबर, कॉलेज) में स्टोर करने से कोड अव्यवस्थित हो जाता है।
- अलग-अलग वेरिएबल्स के बीच संबंध स्पष्ट नहीं होता, जिससे यह समझना मुश्किल हो जाता है कि वे किस इकाई से संबंधित हैं।
- किसी फ़ंक्शन में छात्र की जानकारी पास करने के लिए सभी अलग-अलग वेरिएबल्स को पास करना पड़ता है, जिससे कोड जटिल हो जाता है।
- डेटा पर किसी का स्वामित्व (authority) नहीं होता, क्योंकि वेरिएबल्स स्वतंत्र होते हैं।
- OOP कोड लिखने का एक अलग तरीका (paradigm) है जो वास्तविक दुनिया की समस्याओं को हल करने पर केंद्रित है।
- यह वास्तविक दुनिया की संस्थाओं (entities) को 'ऑब्जेक्ट्स' के रूप में मॉडल करने का सुझाव देता है।
- ऑब्जेक्ट्स में विशेषताएं (characteristics/data) और व्यवहार (behaviors/functions) दोनों होते हैं।
- OOP का लक्ष्य वास्तविक दुनिया को प्रोग्रामिंग में मिमिक (mimic) करना है ताकि समस्याओं को बेहतर ढंग से हल किया जा सके।
- क्लास एक ऑब्जेक्ट बनाने के लिए एक ब्लूप्रिंट या टेम्पलेट की तरह होती है।
- क्लास में ऑब्जेक्ट की विशेषताएं (variables) और व्यवहार (methods/functions) परिभाषित किए जाते हैं।
- क्लास एक एब्स्ट्रैक्ट आईडिया (जैसे 'छात्र' का कॉन्सेप्ट) को दर्शाती है, न कि किसी विशेष छात्र को।
- क्लास का नाम हमेशा कैपिटल लेटर से शुरू होता है (जैसे 'Student')।
- ऑब्जेक्ट्स को 'new' कीवर्ड का उपयोग करके बनाया जाता है, जो हीप मेमोरी में स्पेस एलोकेट करता है।
- रेफरेंस वेरिएबल्स (जैसे 's1', 's2') स्टैक मेमोरी में रहते हैं और हीप में बने ऑब्जेक्ट्स के एड्रेस को स्टोर करते हैं।
- ऑब्जेक्ट्स नॉन-प्रिमिटिव डेटा टाइप्स होते हैं और इन्हें यूजर-डिफाइंड डेटा टाइप्स के रूप में माना जा सकता है।
- 'new' कीवर्ड रनटाइम पर मेमोरी एलोकेट करता है, जिसे डायनेमिक मेमोरी एलोकेशन कहा जाता है।
- डॉट ऑपरेटर (.) का उपयोग करके ऑब्जेक्ट की विशेषताओं (variables) और व्यवहार (methods) को एक्सेस किया जाता है।
- उदाहरण के लिए, `s1.name = "Aditya";` विशेषता को मान असाइन करता है, और `s1.markAttendance();` व्यवहार को कॉल करता है।
- प्रत्येक ऑब्जेक्ट की अपनी स्वतंत्र विशेषताएं होती हैं, भले ही वे एक ही क्लास से बने हों।
- ऑब्जेक्ट्स में केवल डेटा ही नहीं, बल्कि वे कार्य (behavior) भी शामिल होते हैं जो वे कर सकते हैं।
- जावा में वेरिएबल्स और मेथड्स के लिए कैमल केस (जैसे `firstName`, `markAttendance`) का उपयोग किया जाता है।
- क्लास के नामों के लिए अपरकेस लेटर से शुरू होने वाले कन्वेंशन (जैसे `Student`) का पालन किया जाता है।
- OOP हमें वास्तविक दुनिया की जटिल संस्थाओं को कोड में मॉडल करने की अनुमति देता है, चाहे वे भौतिक हों या गैर-भौतिक।
- किसी भी जटिल इकाई (जैसे बैंक खाता, स्थान) को क्लास और ऑब्जेक्ट के रूप में दर्शाया जा सकता है।
Key takeaways
- OOP पारंपरिक कोडिंग की समस्याओं को हल करता है, जिससे कोड अधिक व्यवस्थित और प्रबंधनीय बनता है।
- क्लास ऑब्जेक्ट्स के लिए एक ब्लूप्रिंट है, जो डेटा (विशेषताएं) और व्यवहार (कार्य) दोनों को परिभाषित करती है।
- ऑब्जेक्ट्स हीप मेमोरी में बनते हैं और रेफरेंस वेरिएबल्स द्वारा एक्सेस किए जाते हैं, जो स्टैक मेमोरी में रहते हैं।
- डॉट ऑपरेटर ऑब्जेक्ट की विशेषताओं और व्यवहारों तक पहुंचने का प्राथमिक तरीका है।
- OOP हमें वास्तविक दुनिया की संस्थाओं को प्रोग्रामिंग में मॉडल करने की अनुमति देता है, जिससे जटिल समस्याओं को हल करना आसान हो जाता है।
- कोड की पठनीयता और रखरखाव के लिए जावा में नेमिंग कन्वेंशन (कैमल केस, क्लास के लिए अपरकेस) का पालन करना महत्वपूर्ण है।
Key terms
Test your understanding
- OOP पारंपरिक कोडिंग की तुलना में कोड को प्रबंधित करने में कैसे मदद करता है?
- एक क्लास और एक ऑब्जेक्ट के बीच क्या अंतर है, और क्लास ऑब्जेक्ट के लिए ब्लूप्रिंट कैसे काम करती है?
- जावा में ऑब्जेक्ट बनाने के लिए 'new' कीवर्ड का क्या कार्य है और यह मेमोरी (हीप और स्टैक) से कैसे संबंधित है?
- डॉट ऑपरेटर का उपयोग करके ऑब्जेक्ट की विशेषताओं और व्यवहारों को कैसे एक्सेस और संशोधित किया जाता है?
- जावा में वेरिएबल्स, मेथड्स और क्लासेस के लिए सामान्य नेमिंग कन्वेंशन क्या हैं और वे क्यों महत्वपूर्ण हैं?