Complete C++ OOPS in 1 Shot — Transcript
Full transcript
- 0:00हेलो जी, कैसे हो सारे? दिस इज़ लव बब्बर।
- 0:02और इस वीडियो के अंदर हम पढ़ने वाले हैं
- 0:03ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग के बहुत
- 0:05सारे कॉन्सप्ट्स यूज़िंग C++। तो, जैसे
- 0:08लास्ट क्लास में हमने देखा लास्ट लेक्चर
- 0:09हमने अपलोड किया था 10 ऑवर लॉन्ग लेक्चर
- 0:11था। जहां पर C++ को बिल्कुल स्क्रैच लेवल
- 0:13से हमने स्टडी किया। 10 घंटे की वीडियो के
- 0:15अंदर बहुत सारे कांसेप्ट्स पढ़ लिए। उसी
- 0:17प्रकार से ये एक एट आवर लॉन्ग वीडियो है।
- 0:20जहां पर C प्लस प्लस में ऊप्स कांसेप्ट्स
- 0:22को हम स्टडी करने वाले हैं। टू बी
- 0:24एग्जैक्ट नाइन चैप्टर्स में हमने इस पूरे
- 0:26के पूरे एट आवर लॉन्ग वीडियो को डिवाइड
- 0:28किया है। जिन चैप्टर्स को आप अगेन
- 0:29डिस्क्रिप्शन में टाइम स्टैंप के माध्यम
- 0:31से डायरेक्टली आप मूव करके एक्सेस कर सकते
- 0:33हैं। इन नाइन चैप्टर्स के अंदर बेसिक से
- 0:35बेसिक एडवांस से एडवांस कांसेप्ट्स सभी
- 0:37हमने कवर किए हैं। बेसिकली जब हम बात करते
- 0:38हैं तो क्लासेस क्या होता है? ऑब्जेक्ट
- 0:41क्या होता है? कैसे ऑब्जेक्ट क्रिएट कर
- 0:42सकते हैं? रियल लाइफ से कैसे रिलेट कर
- 0:43सकते हैं? उन सभी कांसेप्ट को डिस्कस किया
- 0:45है। एडवांस हम बात करते हैं ऊप्स के चार
- 0:47इंपॉर्टेंट पिलर्स के बारे में अलोंग विद
- 0:50इंप्लीमेंटेशन जैसे कि एनकैप्सुलेशन,
- 0:52इनहेरिटेंस, पॉलीमॉर्फिज्म, एक्सट्रैक्शन
- 0:54इन सभी चीजों के बारे में अलोंग विद अ
- 0:56सरप्राइज चैप्टर ऑन मिसलेनियस कांसेप्ट
- 0:58जहां पर बात की है। लोकल वर्सेस ग्लोबल
- 1:00स्कोपिंग क्या है? स्टैटिक कीवर्ड क्या
- 1:02है? वर्चुअल कीवर्ड क्या है? वर्चुअल
- 1:04कंस्ट्रक्टर, वर्चुअल डिस्ट्रक्टर इन सभी
- 1:06चीजों को हमने डिस्कस किया हुआ है। तो इस
- 1:07लेक्चर के अंदर आप थ्योरी तो पढ़ने ही
- 1:09वाले हैं पर उसके साथ-साथ बहुत सारी
- 1:11प्रैक्टिकल इंप्लीमेंटेशन भी आप करने वाले
- 1:13हैं हम। तो भले ही आपको कोडिंग करनी हो
- 1:15आगे जाके ऊप्स कांसेप्ट का यूज़ करके
- 1:17उसमें भी ये लेक्चर यूज़फुल होने वाला है।
- 1:18भले ही आपको किसी इंटरव्यू में बैठना हो
- 1:20उस इंटरव्यू को क्रैक करना हो जहां पे
- 1:21आपसे ऊप्स पूछे जाने वाली है। उसमें भी ये
- 1:23लेक्चर आपके लिए बहुत ज्यादा हेल्पफुल
- 1:25रहने वाला है। सवाल मन में आ सकता है कि
- 1:28ये लेक्चर बाकी सभी लेक्चर से डिफरेंट
- 1:30कैसे है? मित्रों तो मैंने कहा कि यहां पर
- 1:32जो भी हमने पढ़ाए उन सभी के नोट्स इन दी
- 1:33फॉर्म ऑफ आर्टिकल्स आपको प्रोवाइड किए
- 1:35जाएंगे। जो भी कोड हम कर रहे हैं वो भी
- 1:37डाउनलोडेबल फॉर्मेट में आपको दिया जाएगा।
- 1:39डाउनलोड कर लो, एक्सेस कर लो, समझ लो और
- 1:41जो भी प्रैक्टिस क्वेश्चंस हम आपको यहां
- 1:44पर दे रहे हैं। उन सभी प्रैक्टिस
- 1:46क्वेश्चंस के अंदर वीडियो सॉल्यूशन भी
- 1:47प्रोवाइड किए जाएंगे। तो लेट्स हैव कि
- 1:49प्रैक्टिस क्वेश्चन फंस जाते हैं। तो उस
- 1:51वीडियो सॉल्यूशन को एक्सेस करके आप देख
- 1:53सकते हैं कि क्या गलती कर रहे थे, कैसे
- 1:55मूव करना था, किस डायरेक्शन में सोचना था।
- 1:57एक सरप्राइज और पेंडिंग है जो कि आपको
- 1:59थोड़ी देर में बताता हूं और अभी फटाफट
- 2:01टाइम वेस्ट नहीं करते हैं। हम मूव करते
- 2:02हैं आपके एक्चुअल कंटेंट की तरफ और
- 2:04स्टार्ट करते हैं आपके इस लर्निंग जर्नी
- 2:08को। धन्यवाद एवरीवन। लेट्स मूव। इस वीडियो
- 2:10में हम शुरू करने वाले हैं ऑब्जेक्ट
- 2:11ओरिएंटेड प्रोग्रामिंग जिसको हम शॉर्ट में
- 2:14ऊप्स कांसेप्ट्स भी कहते हैं। एस स्टैंड्स
- 2:16फॉर सिस्टम्स। ऑब्जेक्ट ओरिएंटेड
- 2:18प्रोग्रामिंग सिस्टम्स। ठीक है? क्या चीज
- 2:20है ये? ठीक है? क्यों जरूरत पड़ी इस चीज
- 2:22की? ठीक है? और इससे हम किस टाइप के कोड
- 2:25बना पाते हैं? या फिर किस टाइप के
- 2:27प्रॉब्लम सॉल्व कर पाते हैं। ये सारी चीज
- 2:28हम इस पूरे ऊप्स कांसेप्ट्स में समझने
- 2:31वाले हैं। ठीक है? तो शुरू करते हैं। तो
- 2:33सबसे पहले ऊप्स होता क्या है? है ना? ऊप्स
- 2:36में कैसे कोड लिखते हैं? ऊप्स में
- 2:37ऑब्जेक्ट ओरिएंटेड का क्या मतलब होता है?
- 2:39ये सब समझने से पहले हमें पता होना चाहिए
- 2:41कि व्हाई ऊप्स? ऊप्स की जरूरत क्यों पड़ी?
- 2:44है ना? ये कोई भी नई चीज आप सीख रहे हो।
- 2:46तो क्यों सीख रहे हो? यह हमें पता होना
- 2:47चाहिए। मित्रों माफी चाहूंगा आपसे। पर
- 2:49मैंने कहा था एक सरप्राइज पेंडिंग है। उस
- 2:50सरप्राइज को फटाफट से डिस्कस कर लेते हैं।
- 2:52अगर आपको यह 8 घंटे की वीडियो बहुत बड़ी
- 2:55लग रही है, बलकी लग रही है, मन में डाउट आ
- 2:56रहा है कि सॉल्व कर पाऊंगा नहीं कर पाऊंगा
- 2:58तो आपके लिए मेरे पास एक सशन है। इस पूरी
- 3:01की पूरी बलकी सी वीडियो को अगर मैं एक
- 3:02स्ट्रक्चर फॉर्मेट में आपको दे दूं। मैंने
- 3:04कहा था कि इस वीडियो के अंदर नाइन
- 3:05चैप्टर्स हैं। हर एक चैप्टर को मैं एक
- 3:06सिंगल लेक्चर में कन्वर्ट करके अगर आपको
- 3:08दे दूं। हर लेक्चर को देखने के बाद अगर
- 3:10आपको बोलूं कि आप एक क्विज अटेम्प्ट कर
- 3:11सकते हैं। उसको अटेम्प्ट करके पता लग जाए
- 3:14कितनी क्लेरिटी में आप हैं, कितनी में
- 3:15नहीं हैं। जो भी आप प्रोग्रेस मेंटेन कर
- 3:17रहे हैं, उसको ट्रैक कर सकते हैं। ग्राफ्स
- 3:19के फॉर्मेट के अंदर जो भी आप प्रॉब्लम
- 3:20सॉल्व कर रहे हैं जिसमें वीडियो सॉलशंस भी
- 3:22आपको दिए जा रहे हैं। उनके जो पॉइंट्स
- 3:24आपको मिल रहे हैं, उसके द्वारा आप लीडर
- 3:25बोर्ड एक्सेस कर सकते हैं कि मैं कहां पर
- 3:26स्टैंड करता हूं। मेरी रैंकिंग क्या-क्या
- 3:28चल रही है। कुछ डाउट आए तो आप एआई डाउट
- 3:30सॉल्वर से पूछ सकते हैं कि यार यह समझ में
- 3:32नहीं आ एक बार ये दोबारा से मुझे क्लियर
- 3:34करके बताना कि इसका आंसर क्या होगा या फिर
- 3:35किस सेक्शन मुझे सोचना चाहिए। मजा आ रहा
- 3:38है? बिल्कुल सही। तो ये सारी की सारी
- 3:40चीजें आप एक्सेस कर सकते हैं। चाहे वो
- 3:41प्रोग्रेस ट्रैकिंग हो, चाहे वो क्विक
- 3:43क्विज हो, चाहे वो एआई डाउट सॉल्वर हो,
- 3:44चाहे वो अ लॉट ऑफ प्रोग्रामिंग प्रॉब्लम्स
- 3:47हो विद वीडियो सॉलशंस। तो ये सारी की सारी
- 3:49कहानी आप एक्सेस कर सकते हैं। ऑल दिस कम्स
- 3:52विद अ प्राइस। अब मन में सवाल आता है
- 3:54कितना प्राइस भाई? तो मैंने कहा कि ओनली
- 3:56वन। वैसे एक का सिक्का तो नहीं है बट ठीक
- 3:58है। ₹1 के अंदर ₹1 के अंदर आप पूरी की
- 4:01पूरी कहानी को एक्सेस कर सकते हैं और अपनी
- 4:03इस लर्निंग जर्नी को और स्मूथ बना सकते
- 4:04हैं। लिंक डिस्क्रिप्शन में मैं ऐड कर
- 4:06दूंगा। लिंक पर जाकर आपको ₹1 में वो कोर्स
- 4:09को बाय करना है और वहां पर एक स्ट्रक्चर
- 4:10फॉर्मेट के अंदर आप एंटायर C प्लस प्लस
- 4:13लर्निंग जर्नी को स्टार्ट कर सकते हैं।
- 4:15ठीक है? सी यू देयर गाइस। तो ऊप्स का
- 4:18सिंपल सा आंसर है कि ऊप्स आई क्योंकि एक
- 4:22एग्जिस्टिंग प्रोग्रामिंग पैराडाइम में
- 4:24कुछ कमी थी। अब एग्जिस्टिंग प्रोग्रामिंग
- 4:26पैराडाइम का मतलब ठीक है हमें पता है हम
- 4:29सब ने यूज़ किया है फंक्शनल प्रोग्रामिंग
- 4:31फंक्शनल प्रोग्रामिंग
- 4:33ठीक है फंक्शनल प्रोग्रामिंग क्या होती है
- 4:36सिंपल आपने जो भी प्रोग्रामिंग लैंग्वेज
- 4:38सीखी होगी उसमें आप क्या करते हो आप
- 4:40वेरिएबल्स डिक्लेअर करते हो कुछ फंक्शनंस
- 4:41बनाते हो है ना जैसे C++ की बात करूं तो
- 4:44आपके पास मेन होता है जावा में एक मेन
- 4:45फंक्शन होता है मेन से आप कोई फंक्शन कॉल
- 4:47कर देते हो है ना फंक्शन कॉल करते हो सपोज
- 4:49फन नाम का फंक्शन आपने कॉल किया फिर फन
- 4:52नाम के फंक्शन से आपने फन टू नाम का
- 4:53फंक्शन कॉल कर दिया है
- 4:55एंड फन थ्री कॉल कर दिया। तो बेसिकली आप
- 4:58बहुत सारे फंक्शनंस कॉल करते हो। ठीक है?
- 5:00एट द एंड आपको वो कुछ रिटर्न टाइप वैल्यू
- 5:02देते हैं। रिटर्न करने के बाद मेन भी एंड
- 5:04में रिटर्न कर देता है और आप एग्जिट कर
- 5:06जाते हो। है ना? इसी तरीके से फंक्शनल
- 5:09प्रोग्रामिंग चलती है। है ना? तो फंक्शनल
- 5:12प्रोग्रामिंग में कुछ ना कुछ लिमिटेशंस
- 5:14थी। वो हम समझेंगे पहले क्या थी। है ना?
- 5:16तो ऊप्स उन लिमिटेशंस को कैसे ओवरकम करता
- 5:19है? ये भी हम समझेंगे। ठीक है? हमें अभी
- 5:21समझ आ गया कि फंक्शनल प्रोग्रामिंग होती
- 5:22क्या है? बहुत सारे फंक्शनंस आप लिखते हो।
- 5:24है ना? आप मेन से कुछ फंक्शन कॉल करते हो।
- 5:26उस फंक्शन से फिर अगेन एक और फंक्शन कॉल
- 5:28करते हो। फिर एक और फंक्शन कॉल करते हो।
- 5:29एंड सो ऑन। इस तरीके से फंक्शन कॉल होते
- 5:32रहते हैं। और जब आप फंक्शन कॉल करते हो
- 5:33कुछ ना कुछ आर्गुमेंट पास करते हो। जिन
- 5:35आर्गुमेंट्स को यूज़ करके फंक्शन उन पे कुछ
- 5:37काम करता है। फिर कुछ वैल्यू रिटर्न भी
- 5:38करता है अगर वो फंक्शन रिटर्न कर सकता है
- 5:41तो। ठीक है? तो सबसे पहले कुछ भी स्टार्ट
- 5:44करने से पहले एक सिंपल सी केस स्टडी देखते
- 5:46हैं हम। ठीक है? एक केस स्टडी एग्जांपल
- 5:48समझते हैं। एक सपोज़ मेरे पास रिक्वायरमेंट
- 5:50है। मेरे पास एक रिक्वायरमेंट है। कि मुझे
- 5:53ना कोड करने हैं 100 स्टूडेंट्स। मतलब
- 5:55मेरे कोड में 100 स्टूडेंट्स की
- 5:57इंफॉर्मेशन होनी चाहिए और उन उन
- 5:59स्टूडेंट्स में मैं कुछ काम करना चाहता
- 6:00हूं। ठीक है? तो आप कैसे डिक्लअर करोगे?
- 6:02अगर मैं फंक्शन प्रोग्रामिंग की बात करूं
- 6:04तो आप क्या करोगे? आप बोलोगे भैया ये मेन
- 6:07का कोड है। मैंने मेन का कोड उठाया है ना?
- 6:10मेन के कोड में आप सबसे पहले सोचते हैं कि
- 6:12अगर मेरे पास एक ही स्टूडेंट है। एक ही
- 6:14स्टूडेंट है। तो सबसे पहले आपके दिमाग में
- 6:15क्या आता है? मैं आइडेंटिफाई करूंगा।
- 6:16स्टूडेंट होता क्या है? स्टूडेंट का नाम
- 6:18होता है। है ना? स्टूडेंट का रोल नंबर
- 6:20होता है उसको आईडी बोल देते हैं और
- 6:22स्टूडेंट की ऐज भी होती है और स्टूडेंट
- 6:24कितने नंबर ऑफ सब्जेक्ट पढ़ता है वो होता
- 6:25है एंड सो ऑन बहुत सारी चीजें होती है ना
- 6:27तो मैंने बोला एक स्टूडेंट है तो बोल लेता
- 6:29हूं एक इंट ले लेता हूं वेरिएबल इंट
- 6:32आईडी ले लिया मैंने ठीक है फिर एक और
- 6:34वेरिएबल ले लेता हूं एक इंटीजर वेरिएबल एक
- 6:37और ले लेता हूं जिसको मैं बोल देता हूं अ
- 6:40नंबर ऑफ सब्जेक्ट्स वो कितने पड़ रहा है
- 6:43ठीक है अगेन आपके पास एक स्ट्रिंग टाइप
- 6:46होगा स्ट्रिंग टाइप में नेम आप ले लेते हो
- 6:48कि उसका नाम क्या है। है ना? फिर एक इंट
- 6:50ले लेते हैं ऐज कि इसकी ऐज क्या है? ठीक
- 6:53है? और सपोज़ अब आपके पास कुछ ऐसे फंक्शनंस
- 6:55हैं। आप बोलना चाहते हो कि स्टूडेंट पढ़ता
- 6:57है। ठीक है? तो आपने एक फंक्शन कॉल कर
- 6:59दिया कि स्टूडेंट पढ़ता है। तो ठीक है? तो
- 7:01आपने स्टडी नाम का एक फंक्शन बना दिया।
- 7:02स्टडी नाम का एक फंक्शन है। स्टडी नाम का
- 7:04फंक्शन बता रहा है कि स्टूडेंट पढ़ता है।
- 7:06ठीक है? और इस तरीके से आपने कोड कर दिया।
- 7:08तो ये आपका सिंपली एक स्टूडेंट आपने कोड
- 7:10कर दिया कि एक स्टूडेंट है वो पढ़ता है।
- 7:11आपने स्टडी नाम का कोई यहां पे फंक्शन बना
- 7:13रखा होगा। ठीक है? ऐसा अस्यूम कर लेते हैं
- 7:15अभी के लिए।
- 7:17अब थोड़ा और सोचते हैं कि अगर एक स्टूडेंट
- 7:20नहीं हो एक बड़े कॉलेज में एक बड़े स्कूल
- 7:22में बहुत सारे स्टूडेंट्स होंगे। सपोज 100
- 7:24स्टूडेंट्स हैं मेरे पास तो 100
- 7:26स्टूडेंट्स को आप कैसे करोगे कोड? तो मेरे
- 7:28दिमाग कहता है एक काम करते हैं। अ
- 7:31इसको आईडी वन ले लेते हैं। ठीक है? ऐसे
- 7:34आईडी टू बना लेता हूं। ऐसे आईडी थ्री बना
- 7:37लेता हूं। एंड सो ऑन आईडी
- 7:39100 तक बना लेता हूं। ठीक है? मैंने कहा
- 7:42ठीक है? आईडी चल जाएगा ऐसे। या फिर आईडी
- 7:44के एरे भी ले सकते हैं। है ना? आगे आपने
- 7:47बोला नंबर ऑफ सब्जेक्ट की भी एरे ले लेते
- 7:48हैं। ठीक है? सिमिलरली आपने नेम की भी एक
- 7:50एरे ले ली। ठीक है? नेम की एरे ले लिया।
- 7:52नेम वन, नेम टू, नेम 100 तक बना दिए। है
- 7:54ना? सिमिलरली एज वन, एज टू, एज 100 तक बना
- 7:56दिए। जिसमें कि एज वन क्या बता रहा है?
- 7:58पहले स्टूडेंट की ऐज। एज 100 क्या बता रहा
- 8:00है? 100 स्टूडेंट की ऐज। ठीक है? अब ध्यान
- 8:03से देखो। इससे अभी से ही आपको फील आ रही
- 8:05होगी कि मेरा कोड ना मैसी हो गया है। ठीक
- 8:07है? पहली बात तो आईडी अलग से मैनेज करो।
- 8:10आपको कैसे-कैसे मैनेजमेंट लिखनी पड़ेगी?
- 8:12क्या बोलोगे भाई? आईडी वन आईडी वन और नंबर
- 8:15ऑफ सब्जेक्ट वन यह किससे बिलोंग करते हैं?
- 8:18स्टूडेंट वन से। यस और नो स्टूडेंट वन से।
- 8:21ठीक है? और सपोज आपने आईडी वन आई नंबर
- 8:24नंबर ऑफ़ सब्जेक्ट वन। उसके बाद आपने नेम
- 8:26नेम यूज़ कर लिया थ्री का। तो क्या आप ये
- 8:29यूज़ कर सकते हो? नहीं कर सकते। ठीक है?
- 8:31आपको यहां पे एनश्योर करना पड़ेगा कि आप
- 8:33जहां भी कोड लिख रहे हो वहां पे नेम वन
- 8:35यूज़ करो। नेम वन यूज़ करो। तो इसका मतलब
- 8:37मैं यह कह सकता हूं कि अगर मैं एक
- 8:40स्टूडेंट मुझे कोई पर्टिकुलर स्टूडेंट
- 8:42सेलेक्ट करना है तो उसके कॉस्पोंडिंग मुझे
- 8:44उसकी आईडी चाहिए। उसके कॉस्पोंडिंग मुझे
- 8:46उसका नंबर सब्जेक्ट की चाहिए। उसके
- 8:49कॉस्पोंडिंग मुझे नेम चाहिए। उसी के
- 8:51कॉस्पोंडिंग मुझे ऐज भी चाहिए होगी। एज
- 8:53थ्री यूज़ नहीं कर सकता क्योंकि थर्ड
- 8:54स्टूडेंट की एज हो जाएगी। एज वन यूज़ करना
- 8:56पड़ेगा। है ना? अगेन जब आप स्लीप स्टडी की
- 8:59बात करोगे, सपोज स्टूडेंट स्लीप भी करता
- 9:01है, तो स्लीप में आपको कुछ आर्गुमेंट
- 9:02भेजने पड़ेंगे। कौन सा स्टूडेंट लीव करता
- 9:04है। है ना? सब कुछ भेजना पड़ेगा आईडी वन
- 9:07उसके बारे में और इनेशन नंबर ऑफ सब्जेक्ट
- 9:09ठीक है एंड सो ऑन ठीक है तो स्लीप करता है
- 9:12तो आपने आईडी वन भेजा फिर सेकंड स्टूडेंट
- 9:15स्लीप करता है तो आईडी टू भेजा थर्ड
- 9:17स्टूडेंट करता है आईडी थ्री भेजा तो इस
- 9:19तरीके से आप कोड लिखो तो यहां पे ना मुझे
- 9:21मैनेजमेंट में बहुत इशू हो रहा है कोड
- 9:22मैसी होता जा रहा है मैसी कोड होता जा रहा
- 9:24है ठीक है अब अगर आपके पास इसका एक
- 9:28सॉल्यूशन कुछ इस प्रकार हो कुछ इस प्रकार
- 9:31सॉल्यूशन हो इसका कि आपके पास एक ऐसा
- 9:34कंटेनर हो एक ऐसा बड़ा सा कंटेनर हो। ठीक
- 9:37है?
- 9:39और उस कंटेनर के अंदर आप बोल दो कि भाई
- 9:42नेम है मेरे पास। मेरे पास आईडी है। ठीक
- 9:44है? मेरे पास ऐज है। मेरे पास नंबर ऑफ
- 9:46सब्जेक्ट हैं। ठीक है? साथ ही साथ साथ ही
- 9:49साथ आपके पास उसका बिहेवियर भी है। स्टडी
- 9:51करता है स्टूडेंट और स्टूडेंट स्लीप करता
- 9:53है सपोज़। ठीक है?
- 9:56अब ये कंटेनर क्या है? मैंने कहा देखो
- 9:59सबसे पहले आपको स्टूडेंट सोचना पड़ेगा।
- 10:01स्टूडेंट है क्या? स्टूडेंट क्या है? कि
- 10:03स्टूडेंट के पास कुछ प्रॉपर्टीज होती हैं।
- 10:05उसकी स्टूडेंट की आईडी होती है। स्टूडेंट
- 10:06का नाम होता है। एज होती है। उसकी उसके
- 10:09नंबर ऑफ सब्जेक्ट होते हैं। कौन-कौन
- 10:10सब्जेक्ट पढ़ता है? वह भी हो सकते हैं।
- 10:12एंड सो ऑन। फिर आप बोलते हो कि स्टूडेंट
- 10:15का बिहेवियर क्या है? स्टूडेंट का
- 10:17बिहेवियर का मतलब हो गया स्टूडेंट क्या
- 10:18करता है? क्या-क्या मेथड्स वो करता है?
- 10:20क्या-क्या करता है अपनी डेली जिंदगी में?
- 10:24स्टूडेंट स्टडी कर लेता है, स्लीप कर लेता
- 10:26है। स्टूडेंट बंक मार लेता है। है ना?
- 10:28ओके। तो, क्यों ना मैं एक ऐसा कंटेनर बना
- 10:31दूं। इस कंटेनर बना दूं और इस कंटेनर को
- 10:33बोल दूं कि अगर यह कंटेनर
- 10:38इस कंटेनर की सारी इनेशन अगर आप फिल कर
- 10:41देते हो ना सारी इनफार्मेशन आप फिल कर
- 10:42देते हो तो मैं उसको एक स्टूडेंट बोल देता
- 10:45हूं। एक स्टूडेंट बोल देता हूं। ठीक है?
- 10:47भैया नहीं समझ आया। ठीक है? नहीं समझ आया?
- 10:50थोड़ी देर में समझ आ जाएगा। बट उससे पहले
- 10:51हमने थोड़ा सा आईडिया लिया कि जब मैं कोड
- 10:54को जब मुझे 100 ऑफ स्टूडेंट रखने होते हैं
- 10:56आईडी वन आईडी टू आईडी आईडी की एरे लेता
- 10:58हूं या बहुत बड़े बहुत सारे वेरिएबल्स
- 10:59यूज़ करता हूं तो मुझे बहुत चीजें ना मैसी
- 11:01लगती है मैसी लगती है अगर सोचो 1 लाख
- 11:04स्टूडेंट्स होते तो 1 लाख स्टूडेंट्स बहुत
- 11:06सारे वेरिएबल्स हो जाते हैं बहुत मैसी
- 11:08लगता मैंने कहा ऐसा नहीं करते हमारे पास
- 11:10सपोज एक एक बॉक्स हो एक कंटेनर हो उस
- 11:12कंटेनर के अंदर मैंने बोल दिया कि यह
- 11:14कंटेनर यह इस ये कंटेनर जिसके पास भी होगा
- 11:16ना यह कंटेनर को मैं बोल दूंगा यह कंटेनर
- 11:18जिसके पास भी है वह एक स्टूडेंट है ठीक
- 11:20है? इतना समझते हैं। बस सिर्फ इतना समझते
- 11:22हैं। हमें प्रॉब्लम समझ आनी चाहिए कि हम
- 11:24मैसी कोड की बात कर रहे हैं। अभी है ना?
- 11:25मैसी कोड है मेरे पास। मैंने बोला उसका
- 11:27सशन शायद कोई कंटेनर टाइप का कुछ हो सकता
- 11:29है। है ना? पता नहीं मुझे क्या होता है।
- 11:30है ना? और एक और चीज है। स्टूडेंट हो सकता
- 11:33है ना कि स्टूडेंट कुछ चीज हाइड करता हो।
- 11:35है ना? सपोज़ स्टूडेंट जो है वो अपनी
- 11:37गर्लफ्रेंड के साथ चैटिंग करता है। है ना?
- 11:39तो वो चाहता है कि मैं वो किसी को बताऊं
- 11:41ना। वो हाइड करना चाहता है। ठीक है? अगर
- 11:43आपने कोड के अंदर वहां पे स्टूडेंट की
- 11:45गर्लफ्रेंड है। एक वेरिएबल ले लिया। ठीक
- 11:47है? तो वो पूरे प्रोग्राम को एक्सपोज हो
- 11:50जाएगा। आपने मेन के अंदर स्टूडेंट वन की
- 11:52गर्लफ्रेंड ले लिया, स्टूडेंट टू की
- 11:53गर्लफ्रेंड तो पूरे प्रोग्राम को एक्सपोज
- 11:54है। सब कोई देख सकता है उसको। ठीक है? तो
- 11:57इसका मतलब कुछ ना कुछ तो दिक्कतें लग रही
- 11:59हैं कि मतलब अगर मैं मैसी कोड हो जाता है
- 12:02मेरा है ना? वो कुछ हाइड करना चाहूं तो
- 12:03हाइड नहीं कर पा रहा हूं मैं। तो शायद से
- 12:05कोई प्रॉब्लम है। है ना? और इसका सशन शायद
- 12:08से ऊब्स होगा। कैसे होगा समझेंगे। ठीक है?
- 12:11आगे बढ़ते हैं। तो मेरे को समझ आता है कि
- 12:12मेरे पास जो मेरा फंक्शनल प्रोग्रामिंग है
- 12:14जिसको मैं प्रोसीजरल प्रोग्रामिंग भी कहता
- 12:16हूं उसमें एक प्रॉब्लम है मैसी कोड हो
- 12:18जाता है। ठीक है? मैसी कोड हो जाता है। और
- 12:20उसको हम दूसरे तरीके से कह सकते हैं इट डज़
- 12:23नॉट मॉडल रियल वर्ल्ड प्रॉब्लम वेरी वेल।
- 12:25ठीक है? स्टूडेंट आपका एक रियल वर्ल्ड
- 12:27एंटिटी है। रियल वर्ल्ड ऑब्जेक्ट है। देखो
- 12:29इंटीजर ठीक है? आपका नेम, इंटीजर, आपका
- 12:33स्ट्रिंग, ठीक है? आपके कैरेक्टर्स ये
- 12:36सारे ऐसे ऐसे ऑब्जेक्ट्स हैं जो आप
- 12:38नॉर्मली बना सकते हो। ठीक है? आपके
- 12:39प्रोग्रामिंग ऑब्जेक्ट्स है कि इंटीजर एक
- 12:41प्रोग्राम के अंदर कुछ इंटीजर वैल्यू
- 12:42स्टोर करने के लिए यूज़ होता है। अब सपोज़
- 12:44आपको रियल वर्ल्ड प्रॉब्लम सॉल्व कर रहे
- 12:46हो आप। रियल वर्ल्ड प्रॉब्लम सपोज़ आप एक
- 12:48लाइब्रेरी मैनेजमेंट सिस्टम बना रहे हो
- 12:49जिसके अंदर लाइब्रेरियन होते हैं,
- 12:51स्टूडेंट्स होते हैं और टीचर्स भी होते
- 12:52हैं। ठीक है? तो मल्टीपल स्टूडेंट्स होते
- 12:55हैं। मल्टीपल टीचर होते हैं। ठीक है? जैसे
- 12:57कि प्रोग्रामिंग में मल्टीपल इंटीजर्स
- 12:58होते हैं। बहुत सारे इंटीजर्स आप डिक्लेअर
- 13:00करते हो। ऐसे ही मल्टीपल स्टूडेंट्स कैसे
- 13:02डिक्लअर करोगे? वो हमने देखा है मल्टीपल
- 13:04स्टूडेंट्स अगर आप इस मैसी कोड से
- 13:05डिक्लेअर करते हो तो बहुत प्रॉब्लम होती
- 13:06है। सिमिलरली आपको मल्टीपल टीचर डिक्लेअ
- 13:08करना हो तो भी बहुत प्रॉब्लम होगी। यस और
- 13:10नो। तो इसका मतलब रियल वर्ल्ड प्रॉब्लम्स
- 13:13को ढंग से ना मॉडल नहीं कर पा रहे। हम समझ
- 13:16नहीं पा रहे कैसे कर सकते हैं कि ना एक
- 13:18स्टूडेंट को डिक्लेअ करने के लिए मुझे
- 13:19दुनिया भर के वेरिएबल यूज़ करने पड़ रहे
- 13:20हैं। तो मजा नहीं आ रहा। अगेन इफ ए न्यू
- 13:23डेटा इज़ एडेड ऑल फंक्शन नीड टू बी
- 13:25मॉडिफाइड। ठीक है? ये बड़ा इंटरेस्टिंग
- 13:26पॉइंट है। इस पॉइंट को समझते हैं। अब
- 13:28देखो, आपने क्या बोला? आपने एक एक मेन
- 13:31लिया हुआ था। मेन फंक्शन था मेरे पास। है
- 13:33ना? उस मेन फंक्शन के अंदर आपने स्टूडेंट
- 13:36बोला था। ठीक है? और स्टूडेंट कैसे
- 13:39डिक्लअर कर रहे थे आप? ठीक है? इसको कमेंट
- 13:40कर देते हैं। स्टूडेंट कैसे डिक्लअर कर
- 13:42रहे थे? हम एक इंटीजर ले रहे थे आईडी नाम
- 13:44का। ठीक है? एक ऐज नाम का ले रहे थे। एक
- 13:46नंबर ऑफ़ सब्जेक्ट नाम का ले रहे थे। ऐसे
- 13:48ही हम एक स्ट्रिंग ले रहे थे जिसका नाम था
- 13:50नेम। यस और नो। अब सपोज आपने बोला कि
- 13:54स्टूडेंट जो है स्टूडेंट जो है वह बंक
- 13:57करता है। एक फंक्शन बनाया स्टूडेंट बंक
- 13:59करता है। सबसे पहली बात जब बंक करता है तो
- 14:01आपको पता होना चाहिए कौन सा स्टूडेंट बंक
- 14:03करता है। तो हमने बोला स्टूडेंट की सारी
- 14:04इनेशन जानी चाहिए बंक में। है ना? तो
- 14:06मैंने आईडी भेज दी। मैंने एज भेज दिया।
- 14:09मैंने नंबर ऑफ स्टूडेंट नंबर ऑफ़ सब्जेक्ट
- 14:11भेज दिया। मैंने नेम भेज दिया। मैंने सब
- 14:12कुछ भेज दिया कि यह वाला स्टूडेंट है जो
- 14:14बंक करता है। अब जो आपका बंक फंक्शन है
- 14:16कुछ इस प्रकार लिखा हुआ है। ठीक है? यह भी
- 14:18सब कुछ लेता है। यह आईडी लेता है। यह एज
- 14:20लेता है। यह नंबर ऑफ सब्जेक्ट लेता है। और
- 14:22नेम भी लेता है। ठीक है? और यहां कुछ-कुछ
- 14:25ऑपरेशन करता है। बंकिंग कह देते हैं इसको।
- 14:27है ना? अब ध्यान से देखो। आपके पास बहुत
- 14:30बड़ा कोड है। सम सब सपोज आपके बंक भी है।
- 14:32ऐसे एक स्लीप भी है। ठीक है? आपके पास एक
- 14:36चैटिंग फंक्शन भी है। ठीक है? स्लीप के
- 14:39अंदर भी सारे टाइप के आर्गुमेंट्स हैं।
- 14:40चैटिंग फंक्शन के अंदर भी सारे टाइप के
- 14:42आर्गुमेंट हैं। ठीक है? एक स्टडी नाम का
- 14:44फंक्शन है। मेन काम तो स्टूडेंट स्टडी
- 14:45करता है ना। उसके उसके अंदर भी सारे टाइप
- 14:47के आर्गुमेंट्स हैं। यहां आपको कोड लिखा
- 14:50हुआ है। अच्छा लग रहा है मुझे। मजा आ रहा
- 14:51है। अब कोई मुझे कहता है कि यार स्टूडेंट
- 14:53के ना एक और चीज ऐड हुई है कि हर स्टूडेंट
- 14:56के ना एक गर्लफ्रेंड है। ठीक है? उसका
- 14:57गर्लफ्रेंड का नाम होना चाहिए। जीएफ नेम
- 14:59होना चाहिए। तो आप जब आप आते हो आप बोलते
- 15:02हो कोड के अंदर लिखना है तो आप देखो कितने
- 15:04परेशान हो गए। कैसे? आपने बोला कि एक काम
- 15:07करना पड़ेगा यार ये तो एक स्टूडेंट की बात
- 15:08है। ऐसे बहुत सारे स्टूडेंट्स हैं। यस और
- 15:10नो। बहुत सारे स्टूडेंट हैं। अभी मैंने एक
- 15:12स्टूडेंट डिक्लेअर किया है यहां पे आईडी
- 15:14वन, पेज वन, नंबर वन, नंबर ऑफ़ सब्जेक्ट
- 15:16वन। ऐसे अगर लाख लैक्स ऑफ स्टूडेंट होंगे,
- 15:18लाखों स्टूडेंट्स हैं आपके पास तो आपके
- 15:21पास क्या करना पड़ेगा आपको? लाखों
- 15:22स्टूडेंट के कॉस्पोंडिंग एक जीएफ नेम वन,
- 15:24जीएफ नेम टू, जीएफ नेम थ्री, जीएफ नेम फोर
- 15:27ऐसे ऐड करना पड़ेगा। या फिर एक एरे ऐड
- 15:29करनी पड़ेगी जीएफ नाम की। है ना? चलो ठीक
- 15:32है। इतना फिर भी हम कर लेंगे। चलो कर लेते
- 15:33हैं। कोई दिक्कत नहीं है। आपने यहां पे एक
- 15:35वेरिएबल ऐड कर दिया। ठीक है? जीएफ नेम
- 15:38स्ट्रिंग टाइप का। ठीक है? ऐसे ही आपने
- 15:40सबके लिए ऐड कर दिया। जीएफ नेम 1 2 3 4 5
- 15:426 व्हाटएवर। अब आप ध्यान से देखो। अब आपको
- 15:46क्या करना पड़ेगा? आपने क्या करा? एक और
- 15:48डाटा ऐड किया है जीएफ नेम। अब आपको सारे
- 15:50फंक्शनंस को मॉडिफाई करना पड़ेगा। सारे
- 15:52फंक्शनंस को कैसे? कि आप हमने क्या बोला
- 15:54था कि जो भी जो भी बिहेवियर जो भी फंक्शन
- 15:57कोई पर्टिकुलर स्टूडेंट परफॉर्म करेगा
- 15:59उसके अंदर उसकी सारी डिटेल जाती है। ठीक
- 16:00है? तो अब एक और डिटेल भेजनी पड़ेगी जीएफ
- 16:03नेम। ठीक है? एक और डिटेल भेजनी पड़ेगी
- 16:05जीएफ नेम। या यहां पे साथ में एक जीएफ नेम
- 16:07नाम का आर्गुमेंट भी जाना चाहिए। ठीक है?
- 16:09आपने यहां पे चेंज कर दिया। अब आपको यहां
- 16:11भी जाके चेंज करना पड़ेगा। इसका सिग्नेचर
- 16:13भी चेंज करोगे। यहां पे एक और वेरिएबल ऐड
- 16:15करोगे। जीएफ नेम। ठीक है? यहां पे स्लीप
- 16:17के अंदर भी एक और बहुत सारे वेरिएबल थे
- 16:18ऑलरेडी यहां पे। यहां पे भी आप जीएफ नेम
- 16:21ऐड करोगे। यहां पे भी जीएफ नेम ऐड करोगे।
- 16:23यहां पे भी जीएफ नेम ऐड करोगे। ऐसे जितनी
- 16:25भी जगह स्टूडेंट यूज़ हो रहा होगा वहां पर
- 16:27आपको जीएफ नेम यूज़ करना पड़ेगा। एक्स्ट्रा
- 16:30डालना पड़ेगा। ठीक है?
- 16:33भाई यार इतनी बड़ी प्रॉब्लम तो नहीं लग रही
- 16:35मुझे। ठीक है? बट जब बहुत बड़ा कोड होता है
- 16:37आपका बिलियंस ऑफ लाइन होता है तो आपको हो
- 16:39सकता है लाखों जगह पे जाके ये काम करना
- 16:41पड़े। ठीक है? तो ये एक बहुत प्रॉब्लमेटिक
- 16:43चीज है कि आपका कोड एक्सटेंसिबल नहीं है।
- 16:45आप आपके कोड में कुछ चीज नई ऐड कर दी तो
- 16:48आपको आपका दिमाग खराब हो जाता है। यू यू
- 16:50फील लाइक कि यार हर जगह जाके चेंज करना
- 16:51पड़ेगा। तो मतलब मैसी हो गया कोड है ना?
- 16:53मजा नहीं आ रहा। ये एक ड्रॉबैक है फंक्शनल
- 16:55प्रोग्रामिंग का। है ना? आप फंक्शन के
- 16:57सिग्नेचर में जाके चेंज करोगे। हर फंक्शन
- 16:58में अगर कहीं स्टूडेंट यूज़ हो रहा होगा
- 17:00तो वहां जाके एक नई चीज ऐड करोगे। अगेन
- 17:02ग्लोबल डेटा एक्सेसिबल टू ऑल द फंक्शनं।
- 17:05ठीक है? अब सपोज एक सिंपल सा मॉडल लेते
- 17:07हैं कि आपके पास स्टूडेंट है। आपने बोला
- 17:10था स्टूडेंट है आपके पास। आपने कैसे
- 17:12डिक्लेअ किए थे भैया? आईडी वन लिखा था।
- 17:14ठीक है? ऐसे नेम वन लिखा था। ठीक है? नेम
- 17:16ऐसे नंबर ऑफ सब्जेक्ट वन लिखा था। ठीक है?
- 17:20ऐसे
- 17:23और ऐज वन लिखा था। ठीक है? ऐसे ही मैंने
- 17:26सबके लिए लिखा था। सबके लिए जितने भी
- 17:27स्टूडेंट हैं, अगर मेरे पास 1000 स्टूडेंट
- 17:29हैं, तो 1000 के लिए मैं यही ऐसे वेरिएबल
- 17:31डिक्लेअर करके चल रहा था। है ना?
- 17:33तो हमने क्या बोला कि हमारे पास ग्लोबल
- 17:36डाटा सारे फंक्शन को एक्सेसबल होता है। अब
- 17:38सपोज मुझे कुछ इस प्रकार से काम करना है।
- 17:39मेरे पास यहां इंट एक इंट मेन था ये। ठीक
- 17:41है? मैंने मेन में ये काम किया था। ये मेन
- 17:44में काम किया था। ऐसे हमने बहुत सारे
- 17:46फंक्शन बना रखे हैं। सपोज स्टडी फंक्शन
- 17:47बनाया हुआ था हमने। है ना? ठीक है? ऐसे ही
- 17:50मेरे पास बंकिंग फंक्शन है। ठीक है? बंक
- 17:52करता है स्टूडेंट एंड सो ऑन। ये स्टूडेंट
- 17:54के कॉस्पोंडिंग फंक्शन है। सपोजें सारे
- 17:55स्टूडेंट के कॉस्पोंडिंग एक पर्टिकुलर
- 17:57इनेशन ऐड करनी है। ठीक है? कि सारे
- 17:59स्टूडेंट किस स्कूल के हैं? ये सारे सारे
- 18:02स्टूडेंट किस-किस किस जगह रहते हैं। सपोज
- 18:04हमने स्कूल मान लिया कि सारे स्टूडेंट किस
- 18:06स्कूल के हैं। है ना? कौन सा कॉलेज है,
- 18:07कौन सा स्कूल है? तो इन सारे स्टूडेंट के
- 18:09कॉस्पोंडिंग अब क्योंकि देखो अब हो सकता
- 18:12है स्कूल की वैल्यू स्टडी में यूज़ होती
- 18:13हो। है ना? स्कूल वेरिएबल जो है कि कौन सा
- 18:15स्कूल है वो स्टडी में यूज़ होती हो।
- 18:17बंकिंग में यूज़ होती हो। है ना? हमें नहीं
- 18:19पता। हो सकता है यूज़ होती हो। है ना? ऐसी
- 18:21स्टडी है, बंकिंग है। स्लीप में यूज़ होता
- 18:23है कि कौन से स्कूल का स्टूडेंट है जो
- 18:24स्लीप हो रहा है। हम यहां पर प्रिंट करवा
- 18:25रहे हैं कि कौन से स्कूल स्कूल का
- 18:27स्टूडेंट है जो पिंक प्रिंट हो रहा है।
- 18:30कौन से स्कूल का स्टूडेंट है जो स्लीप कर
- 18:31रहा है। है ना? मैंने बोला ये सारे
- 18:33स्टूडेंट ये सारे स्टूडेंट किसी पर्टिकुलर
- 18:35स्कूल से बिलोंग करते हैं। सपोज ये ये
- 18:38आपके डीएवी से बिलोंग करते हैं। डीएवी
- 18:40स्कूल से बिलोंग करते हैं। ठीक है? और
- 18:42मुझे ये सारी इनफेशन कहां चाहिए? सारे
- 18:44फंक्शनंस में चाहिए। डीएवी स्कूल से ये
- 18:46बिलोंग करते हैं। सारे सारे फंक्शनंस में
- 18:48चाहिए। तो आप क्या करोगे? आप जाओगे आप एक
- 18:50वेरिएबल ले लोगे एक ग्लोबल वेरिएबल बना
- 18:52लेते हैं सपोज स्ट्रिंग बना ली मैंने
- 18:53ग्लोबल वेरिएबल ठीक है मैंने कहा कि स्कूल
- 18:58ठीक है और इसकी वैल्यू मैंने डी एवी सेट
- 19:00कर दी
- 19:01अब ध्यान से देखो इससे मेरी प्रॉब्लम तो
- 19:03सॉल्व हो गई कि इन सारे 1000 स्टूडेंट्स
- 19:05के कॉरेस्पोंडिंग ये सारे 1000 स्टूडेंट
- 19:07डीएवी स्कूल में पढ़ते हैं वह स्टडी में
- 19:09भी यूज़ हो जाएगा बंक में भी यूज़ हो
- 19:11जाएगा स्लीप में भी यूज़ हो जाएगा सब में
- 19:12यूज़ हो जाएगा ठीक है अब सपोज यहां पर सब
- 19:16सपोज यहां पर एक फंक्शन है जिसका नाम है
- 19:19टीचिंग
- 19:22ठीक है टीचिंग है या फिर है सपोज
- 19:28फ्लाइंग कोई फंक्शन है फ्लाइंग फंक्शन है
- 19:31ठीक है अब फ्लाइंग फंक्शन है और फ्लाइंग
- 19:33फंक्शन सपोज किसी बर्ड के कॉस्पोंडिंग कोई
- 19:35बर्ड है वो फ्लाई करती है ठीक है ये
- 19:37फंक्शन है हमारे पास ठीक है अब ध्यान से
- 19:39देखो फ्लाइंग फंक्शन के अंदर भी आप जाकर
- 19:42फ्लाइंग फंक्शन के अंदर भी अगर आप स्कूल
- 19:43वेरिएबल को एक्सेस करोगे क्योंकि ये
- 19:45ग्लोबल वेरिएबल है ये यहां पे मिल जाएगा
- 19:47मुझे है पर क्या स्टूडेंट की इंफॉर्मेशन
- 19:50कि वो किस स्कूल किस स्कूल के स्टूडेंट
- 19:53है? फ्लाइंग फंक्शन को जरूरत है? क्या
- 19:54टीचिंग फंक्शन को जरूरत है? ठीक है? मैं
- 19:56नहीं मैं नहीं बताना चाहता अपने टीचर को
- 19:59कि जो जिन स्टूडेंट्स को आप पढ़ा रहे हो,
- 20:01जिन स्टूडेंट को सपोज आप ट्यूशन दे रहे हो
- 20:03कि वो कौन से स्कूल से बिलोंग करते हैं?
- 20:04मैं नहीं बताना चाहता ये। है ना? मैं नहीं
- 20:06बताना चाहता। मैं हाइड करना चाहता हूं ये
- 20:08चीज़। तो ये चीज नहीं हो पाएगी। अगर आपने
- 20:09ग्लोबल वेरिएबल बना दिया डीएवी का तो
- 20:11फ्लाइंग को भी पता चल रहा इसके इसका और
- 20:13टीचिंग को भी। ऐसे किसी इररेिलेवेंट
- 20:15फंक्शन को जिस जो स्टूडेंट की इनेशन से
- 20:17कोई लेना देना नहीं है उसको उसको ही पता
- 20:19चल जाएगा क्योंकि आपने ग्लोबल बना दिया
- 20:21है। है ना? तो ये एक प्रॉब्लम है। ये एक
- 20:23प्रॉब्लम है। ठीक है? और इसकी वजह से क्या
- 20:26होता है कि कोई क्लियर बाउंड्री नहीं
- 20:27होती। कोई क्लियर बाउंड्री नहीं है। कोई
- 20:29डेफिनेशन नहीं है कोड के अंदर। ठीक है? आप
- 20:31इतने सारे स्टूडेंट के कॉस्पोंडिंग आईडी
- 20:33वन, आईडी टू आईडी ऐसे दुनिया भर के आईडी
- 20:35आईडी बना रहे हो। ठीक है? सपोज़ आपने आपके
- 20:38कोड के अंदर स्टूडेंट भी हैं, टीचर भी
- 20:40हैं। ठीक है? तो स्टूडेंट के अंदर अब
- 20:42स्टूडेंट की आईडी वन आईडी टू आईडी थ्री
- 20:44ऐसे बनाया आपने 1000 स्टूडेंट टीचर बहुत
- 20:45सारे है तो टीचर्स की आईडी वन आईडी टू तो
- 20:47बहुत मैसी कोड हो जाएगा क्लियर बाउंड्रीज
- 20:49नहीं रहेंगी कोई भी किसी की इनेशन यूज़ कर
- 20:51सकता है मजा नहीं आएगा ठीक है और इन सबको
- 20:54हम बोलते हैं कि मॉडलरिटी नहीं होगी
- 20:56मॉड्यूलरिटी नहीं होगी ठीक है स्टूडेंट एक
- 20:58अलग एंटिटी दिखनी चाहिए कोड के अंदर भी है
- 21:00ना स्टूडेंट का कोड मैसी नहीं दिखना चाहिए
- 21:03ठीक है ये कैसे होगा ये कैसे होगा आपको
- 21:05थोड़ी देर में समझ आ जाएगा थोड़ी देर में
- 21:06समझ आ जाएगा पर अभी समझते हैं कि कोई
- 21:08मोटैलिटी नहीं रहेगी यानी कि स्टूडेंट एक
- 21:10अलग एंट एंटिटी होनी चाहिए। ठीक है? जीवन
- 21:12में स्टूडेंट एक अलग एंटिटी होती है।
- 21:14राइट? ऐसे ही जीवन में टीचर एक अलग एंटिटी
- 21:16है। टीचर के अपने-अप अपनेप शौक होते हैं।
- 21:18अपने प्रॉपर्टीज होती हैं। अपने उसके काम
- 21:20करने का ढंग होता है। अपना बिहेवियर होता
- 21:22है। स्टूडेंट का अपना बिहेवियर है। ठीक
- 21:23है? स्टूडेंट के अपने प्रॉपर्टीज हैं।
- 21:26सिमिलरली बर्ड का अपना बिहेवियर है कि वो
- 21:28फ्लाई करता है। बर्ड के अपने प्रॉपर्टीज
- 21:30हैं। अपना उसकी समझ है। तो वो अलग-अलग
- 21:32होना चाहिए। सब कुछ सारे इंटरमिक्स नहीं
- 21:34होना चाहिए। ऐसा नहीं होना चाहिए कि कोई
- 21:35भी किसी की भी डेटा यूज़ कर ले। ऐसा कुछ
- 21:37नहीं होना चाहिए। ठीक है? ये समझेंगे हम।
- 21:39ठीक है? ये समझ समझ समझ में आ जाएगा हमें
- 21:41कि किस तरीके से कहां पे हम पॉइंट आउट कर
- 21:43रहे हैं। ये क्लियर बाउंड्री का क्या मतलब
- 21:44है? मॉडलरिटी का मतलब है। ऊप्स कैसे
- 21:46मॉडलरिटी लेके आता है। अभी सिर्फ हम इस
- 21:48चीज का आईडिया लेने की कोशिश कर रहे हैं
- 21:49कि फंक्शनल प्रोग्राम में क्या प्रॉब्लम्स
- 21:51थी? है ना? क्या प्रॉब्लम्स थी? आगे बढ़ते
- 21:54हैं। तो अब देखते हैं व्हाट इज़ ऊप? ये सब
- 21:56तो समझ लिया। फंक्शनल प्रोग्रामिंग। ठीक
- 21:58है? कोई दिक्कत होगी शायद उसके अंदर। मैसी
- 21:59कोड होता होगा। बट ऊप्स क्या है? और उसको
- 22:02कैसे सॉल्व करता है? ऊप्स की फुल फॉर्म
- 22:04होती है ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग।
- 22:06ठीक है? अब ऊप्स मैं बोलता हूं ऊप्स इज
- 22:09लाइफ। जैसे जीवन में चीजें होती है ना
- 22:11जैसे जीवन में चीजें होती हैं वैसे ही
- 22:13ऊप्स के अंदर होती हैं। ठीक है? जैसे कि
- 22:15बोल सकते हैं जैसे जीवन में क्या होता है?
- 22:17जीवन में आपके बहुत सारी एंटिटीज होती
- 22:19हैं। ठीक है? आपके बर्ड होती है। ठीक है?
- 22:21ऐसे स्परो होती है। ठीक है? स्परो क्या
- 22:23है? एक एब्स्ट्रैक्ट टर्म है। स्परो क्या
- 22:25है? एक एब्स्ट्रैक्ट टर्म है। एब्स्ट्रक्ट
- 22:26टर्म मतलब कि स्परो आपने बोल दिया। अब
- 22:28बहुत सारी स्परो हो सकती हैं। यस और नो?
- 22:30स्परो वन, स्पेरो टू स्परो थ्री। ठीक है?
- 22:32एक का नाम सपोज राम है, एक का नाम श्याम
- 22:34है। बहुत सारी स्पेयर हो सकती हैं। ऐसी ही
- 22:36आपने बोल दिया पर्सन। पर्सन एक एंटिटी है।
- 22:38पर बहुत सारे पर्सन हो सकते हैं। है ना?
- 22:40आपके फादर एक पर्सन है। सपोज़ आप कहीं भी
- 22:43रोड पे खड़े हो जाओगे तो बहुत सारे पर्सन
- 22:45जाते हुए दिखेंगे आपको। यह पर्सन वन है,
- 22:46पर्सन टू है, पर्सन थ्री है। सबके अपने
- 22:48एट्रिब्यूट्स हैं। सबके अपने बिहेवियर
- 22:50हैं। ठीक है? कोई हो सकता है ड्रिंक करता
- 22:52हो, कोई नहीं करता हो। ठीक है? कोई हो
- 22:54सकता है जिम जाता हो, कोई नहीं जाता हो।
- 22:56सबके अपने-अपने बिहेवियर हैं। सबका
- 22:57अपना-अपना सोच रहा है। है ना? तो इसका
- 23:00मतलब क्या आप है ना ऐसा कहना चाह रहे हो
- 23:02कि अगर मुझे कोई ऐसे सिस्टम्स इंप्लीमेंट
- 23:04करने हैं अपना कोड कुछ इस प्रकार लिखना
- 23:06है। इस प्रकार लिखना है कि मैं अपने कोड
- 23:08से रियल वर्ल्ड प्रॉब्लम्स डिपिक्ट कर
- 23:11पाऊं। रियल वर्ल्ड प्रॉब्लम जैसा कोड लिख
- 23:13पाऊं। ठीक है? तो वहां ऊप्स यूज़ होती है।
- 23:16जैसे कि जीवन में स्टूडेंट एक अलग से
- 23:18एंटिटी है। उसका अपना बिहेवियर होता है।
- 23:20अपना एट्रिब्यूट होता है। ठीक है? ऐसे आप
- 23:22कोड में भी एक अलग एंटिटी की तरह स्टूडेंट
- 23:24को बना सकते हो। यूजिंग ऊप्स। कैसे? थोड़ी
- 23:26देर में समझेंगे। सबसे पहले यह देखते हैं
- 23:29कि ऊप्स एक प्रोग्रामिंग टेक्निक है। ठीक
- 23:31है? एक तरीका है कोड को लिखने का, अपना
- 23:33कोड को लिखने का एक तरीका है। ठीक है? टू
- 23:36सॉल्व रियल वर्ल्ड प्रॉब्लम्स। रियल
- 23:38वर्ल्ड प्रॉब्लम। रियल वर्ल्ड में क्या चल
- 23:39रहा है? है ना? समझेंगे सारी रियल वर्ल्ड
- 23:41प्रॉब्लम्स होती हैं इसमें। हाउ कैन वी
- 23:43मॉडल रियल वर्ल्ड सिस्टम विद प्रोग्रामिंग
- 23:45लैंग्वेज? ठीक? ठीक है? अब जैसे वहां मैसी
- 23:47कोड की बात कर रहे थे हम। ठीक है? बहुत
- 23:49सारा आपने लिख दिया। देखो काम तो वो कर
- 23:51जाएगा। काम तो वो कर जाएगा बट वो बहुत
- 23:53ज्यादा ना मैसी हो रहा है। ठीक है? उस
- 23:55मशीननेस को बचाने के लिए ऊप्स नाम की एक
- 23:58चीज आई है। है ना? समझते हैं आगे। ये एक
- 24:01प्रोग्रामिंग स्टाइल है। ठीक है? इसमें
- 24:03क्या होता है? इट इनवॉल्व्स डिवाइडिंग ए
- 24:05प्रोग्राम इनू पीसेस और ऑब्जेक्ट्स दैट
- 24:07कैन कम्युनिकेट विद ईच अदर। ठीक है? ये
- 24:10समझते हैं। आपने क्या बोला? जैसे कि आप एक
- 24:13स्कूल में जाओगे तो स्कूल में क्या होता
- 24:15है? स्कूल में बहुत सारे एंटिटीज होती
- 24:17हैं। स्टूडेंट है, टीचर्स हैं। ठीक है?
- 24:19बहुत सारे डिपार्टमेंट्स होते हैं स्कूल
- 24:21के अंदर। ठीक है? स्कूल के अंदर रूम्स
- 24:23होते हैं। है ना? तो सिमिलरली अगर आप
- 24:27स्कूल को स्कूल के अंदर बहुत सारी एंटिटी
- 24:29सोच सकते हो कि स्टूडेंट है उसका अलग
- 24:31बिहेवियर है। टीचर है उसका अलग बिहेवियर
- 24:33है। रूम है। रूम के अंदर एक अलग बिहेवियर
- 24:35है। रूम के अंदर लाइट्स होंगी। किसी रूम
- 24:36में लाइट्स हैं। किसी रूम में नहीं है। है
- 24:38ना? सिमिलरली डिपार्टमेंट्स हैं स्कूल के
- 24:40अंदर या कॉलेज की बात करें। कॉलेज में
- 24:41डिपार्टमेंट्स होते हैं। कोई ईसी
- 24:42डिपार्टमेंट है। कोई आईटी डिपार्टमेंट है।
- 24:44कंप्यूटर साइंस का डिपार्टमेंट है। हर
- 24:46डिपार्टमेंट के अपने एट्रिब्यूट्स हैं।
- 24:47अपनी प्रॉपर्टीज हैं। कोई डिपार्टमेंट के
- 24:49अंदर अलग-अलग सब्जेक्ट्स होते हैं। है ना?
- 24:51हर डिपार्टमेंट में अलग-अलग क्लासेस चलती
- 24:53हैं। है ना? तो इसी तरीके से हम कोड को भी
- 24:55कुछ इस प्रकार डिवाइड कर देते हैं कि हमें
- 24:57ना एंटिटी नजर आती हैं सारी अलग-अलग
- 24:59एंटिटी अलग-अलग एंटिटी अलग-अलग एंटिटी
- 25:01अलग-अलग एंटिटी। अब जिस प्रकार स्कूल में
- 25:03आप या कॉलेज में आप जाओगे एक स्टूडेंट और
- 25:06टीचर आपस में कम्युनिकेट करते हैं। पर
- 25:07स्टूडेंट अलग है, टीचर अलग है। बस
- 25:09स्टूडेंट और टीचर आपस में कम्युनिकेट करते
- 25:11हैं। कैसे? सिर्फ किस किस प्रकार
- 25:13कम्युनिकेट करते हैं? बस वो किस टीचर जो
- 25:15है स्टूडेंट को पढ़ाता है। स्टूडेंट टीचर
- 25:17से डाउट पूछता है। बस इतना ही कम्युनिकेशन
- 25:18होता है। क्या टीचर को यह पता होता है कि
- 25:21स्टूडेंट की गर्लफ्रेंड है कि नहीं? नहीं
- 25:22पता होता। क्या टीचर को यह पता होता है कि
- 25:25स्टूडेंट जो है वो हो सकता है कि जैसे
- 25:29कॉलेज की बात करें तो कॉलेज में जरूरी
- 25:30नहीं है कि किसी टीचर को यह पता हो कि यह
- 25:33पर्टिकुलर स्टूडेंट किस ब्रांच का है। है
- 25:35ना? किस ब्रांच का है। हो सकता है वो जो
- 25:37टीचर हो वो मैकेनिकल ब्रांच का हो। बट
- 25:39कंप्यूटर साइंस में मैकेनिकल की आपने वो
- 25:41डाल दिया है। सब्जेक्ट डाला हुआ है एक। तो
- 25:43टीचर बच्चा आके पढ़ रहा है बस उससे। टीचर
- 25:45को क्या पता है कि भाई ये स्टूडेंट है जो
- 25:47कि मैकेनिकल सब्जेक्ट पढ़ने वाले हैं। है
- 25:49ना? तो इसका मतलब यह मतलब है कि जैसे रियल
- 25:53वर्ल्ड के अंदर बहुत सारी एंटिटीज होती
- 25:54हैं वह आपस में इंटैक्ट करती हैं। बस किसी
- 25:56पर्टिकुलर पर्पस के लिए इंटैक्ट करती हैं।
- 25:58ठीक है? सबको सबका नहीं पता होता है ना?
- 26:00सिमिलरली उसी प्रकार हम क्या करते हैं?
- 26:02अपने कोड को इस प्रकार से मॉडल करते हैं।
- 26:04इस प्रकार से छोटे-छोटे टुकड़ों में
- 26:06डिवाइड करेंगे। ठीक है? जिनको हम ऑब्जेक्ट
- 26:07कहते हैं।
- 26:10जो कि रियल वर्ल्ड चीजों को डिपिट कर रहे
- 26:12होते हैं। ठीक है? रियल वर्ल्ड में
- 26:13स्टूडेंट होता है तो कोड में आपने एक
- 26:14स्टूडेंट बना दिया। ठीक है? रियल वर्ल्ड
- 26:16में टीचर होते हैं तो आप कोड में एक टीचर
- 26:18बना दिया। सब कैसे बनाते हैं हम समझेंगे।
- 26:19अभी एक आईडिया ले रहे हैं बस। ठीक है?
- 26:21ऑब्जेक्ट बेस्ड कोडिंग स्टाइल ऑब्जेक्ट
- 26:23बेस्ड बात ये है कि ऑब्जेक्ट ओरिएंटेड।
- 26:25ऑब्जेक्ट बेस्ड। ठीक है? इसका दूसरा नाम
- 26:27अगर रियल वर्ल्ड की बात करो। एंटिटी बेस्ड
- 26:29होना चाहिए था। है ना? कि एंटिटी बेस्ड।
- 26:31जैसे रियल वर्ल्ड में एंटटीज हैं ऐसे ही
- 26:33आपके कोड के अंदर एंटटीज होंगी।
- 26:34ऑब्जेक्ट्स होंगे। ठीक है? इन व्हिच ईच
- 26:37ऑब्जेक्ट दैट इज़ रियल वर्ल्ड एंटिटी। हर
- 26:40ऑब्जेक्ट रियल वर्ल्ड एंटिटी होगी। अभी
- 26:41ऑब्जेक्ट समझ नहीं आ रहा तो ऐसे सोच लो कि
- 26:43रियल वर्ल्ड में अगर आप कोई एंटिटी सोच
- 26:45पाते हो कि कोई स्टूडेंट है, कोई पर्सन
- 26:47है, कोई कार है। ठीक है? कोई बस है। ठीक
- 26:50है? अगर आप रियल वर्ल्ड एंटिटी सोच पाते
- 26:52हो, ठीक है? तो वही चीज ऑब्जेक्ट होगी।
- 26:54वही चीज़ ऑब्जेक्ट होगी कोड के अंदर। ठीक
- 26:56है? इट्स ओन एट्रिब्यूट एंड बिहेवियर। अब
- 26:59ऑब्जेक्ट को डिफाइन करने का सबसे आसान
- 27:01तरीका या सबसे ज्यादा इंपॉर्टेंट तरीका
- 27:04क्या है? कि ऑब्जेक्ट के पास खुद के
- 27:05एट्रिब्यूट्स होते हैं। खुद की प्रॉपर्टीज
- 27:07होती है। ठीक है? जिसको हम स्टेट भी बोलते
- 27:09हैं। और उसके बिहेवियर होते हैं। वो क्या
- 27:10करता है? एक ऑब्जेक्ट है। उसकी खुद की
- 27:12प्रॉपर्टीज हैं। जैसे एक पर्सन है। ठीक
- 27:14है? हो सकता है उसका स्किन कलर क्या है?
- 27:16ठीक है? वो बोलता कौन सी लैंग्वेज है। ठीक
- 27:19है? उसकी आंखें किस कलर की हैं? ये सारी
- 27:21उसकी प्रॉपर्टीज हैं। है ना? उसका
- 27:23बिहेवियर क्या है? क्या वो क्या वो सोता
- 27:25है? क्या वो स्टडी करता है? अब हर हर हर
- 27:28हर इंसान अलग-अलग जगहों पे सोता होगा। है
- 27:30ना? तो ये सारी बिहेवियर्स हैं उसके कि
- 27:32स्टूडेंट एक एक पर्सन क्या-क्या करता है?
- 27:36ठीक है? तो इसका मतलब कहने का मतलब यह है
- 27:38कि फंडामेंटल आईडिया क्या एक एक आईडिया
- 27:40क्या बन रहा है? ऊप्स का आईडिया क्या बन
- 27:41रहा है? ऊप्स का आईडिया अब तक ये बन रहा
- 27:43है कि वी वांट टू कंबाइन थिंग्स इन ए
- 27:46सिंगल यूनिट जिसको मैं ऑब्जेक्ट कह रहा
- 27:47हूं। ठीक है? डेटा एंड बोथ डेटा एंड
- 27:51बिहेवियर दैट विल प्रमोट मोलिटी। समझते
- 27:53हैं। तो अगर स्टूडेंट क्लास की मैं बात
- 27:55करूं। ठीक है? आपके पास स्टूडेंट थी।
- 27:57राइट? स्टूडेंट क्लास की बात करें। तो
- 27:59मैंने क्या कहा था कि हम एक ऐसा कुछ सपोज़
- 28:01ऐसा कुछ स्ट्रक्चर बनाने की कोशिश करें।
- 28:03ऐसा कुछ स्ट्रक्चर मैंने बना दिया। कंटेनर
- 28:05बना दिया। जिसके अंदर दोनों चीजें हैं।
- 28:07जिसके अंदर दोनों चीजें हैं। क्या-क्या?
- 28:10आपके अंदर इसके अंदर उसके प्रॉपर्टीज हैं।
- 28:12आपके पास उसके प्रॉपर्टीज हैं कि भाई उसकी
- 28:15एज क्या है? ठीक है? सिमिलरली उसकी आईडी
- 28:17क्या है? ठीक है? उसके नंबर ऑफ़ सब्जेक्ट
- 28:18कितने बढ़ाता है? उसका नेम क्या है? इसकी
- 28:20प्रॉपर्टी है। सिमिलरली उसके बिहेवियर
- 28:23होंगे कि वो स्लीप करता है, वह बंक मार
- 28:26देता है और वो स्टडी भी करता है।
- 28:29ठीक है? ये क्या चीज हो गई? ये हमने बोला
- 28:31कि भाई एक कंटेनर बना दिया। हमने क्या करा
- 28:33कि सारे डेटा मेंबर्स, सारे वेरिएबल्स,
- 28:35सारा डेटा और बिहेवियर, सारे एट्रिब्यूट्स
- 28:37और बिहेवियर। बिहेवियर क्या कह रहा हूं
- 28:39मैं? यह फंक्शंस क्या करता है वो? है ना?
- 28:41इन सबको उठा के मैंने एक सिंगल यूनिट में
- 28:43बाइंड कर दिया। सिंगल यूनिट में बाइंड कर
- 28:45दिया। फंडामेंटल आईडिया। ठीक है? सिंगल
- 28:47यूनिट में बाइंड कर दिया। और इस बाइंडेड
- 28:49सिंगल यूनिट को मैं क्या कह रहा हूं? ये
- 28:50एक स्टूडेंट है। जी। ये एक स्टूडेंट है।
- 28:52बोल सकते हैं स्टूडेंट है। अब मैं क्या
- 28:55कहूंगा? ध्यान से सुनना। अब मैं क्या
- 28:57कहूंगा कि देखो इस टेंपलेट को इस
- 29:00ब्लूप्रिंट को फॉलो करने वाला इस टेंपलेट
- 29:03को इस ब्लूप्रिंट को फॉलो करने वाला
- 29:07कोई इंसान
- 29:08स्टूडेंट होगा। ठीक है? मैंने कहा इस
- 29:12टेंपलेट को फॉलो करने वाला ठीक है? एक
- 29:14स्टूडेंट है जिसका नाम S1 है सपोज़। ठीक
- 29:17है? S1 है और उसके ये ये नाम है।
- 29:23और उसके ये ये नाम है। क्या है? उसकी ऐज
- 29:2615 है। ठीक है? उसका रोल नंबर 32 है। वो
- 29:29पांच सब्जेक्ट पढ़ता है। उसका नेम है सपोज
- 29:31लकी। ठीक है? अगेन अगर वो स्टूडेंट है तो
- 29:34ऑब्वियसली है वो स्लीप बिहेवियर भी होगा
- 29:37उसका। उसका बंक बिहेवियर भी होगा। ठीक है?
- 29:39सिमिलरली उसका स्टडी बिहेवियर भी होगा।
- 29:41मैंने कहा इसी टेंपलेट को फॉलो करने वाला
- 29:43एक और स्टूडेंट है। एक और स्टूडेंट है।
- 29:46ठीक है? जिसकी ऐज है आपकी 16 और उसका 33
- 29:50रोल नंबर है। वो छह सब्जेक्ट पढ़ता है और
- 29:52उसका नाम है राहुल।
- 29:55ठीक है? सिमिलरली वह बिहेवियर करता है।
- 29:56ऐसे आप मल्टीपल स्टूडेंट बना सकते हो।
- 29:58मल्टीपल स्टूडेंट बना सकते हो। यस और नो।
- 30:01क्या ऐसा ही नहीं होता रियल वर्ल्ड में?
- 30:03रियल वर्ल्ड में आप बोल देते हो कि देखो
- 30:05जो कि जो कि पढ़ता होगा। ठीक है? जो कि
- 30:08पढ़ता होगा और बंग भी मारता होगा, सोता भी
- 30:10होगा। ठीक है? और खाता भी होगा, स्टूडेंट
- 30:13खाता भी है। और उसकी कुछ ऐज है, उसका एक
- 30:15रोल नंबर है, आईडी है, नंबर ऑफ़ सब्जेक्ट
- 30:16कुछ पढ़ता है और नेम है। ठीक है? क्या है?
- 30:18ये सारे टेंपलेट उठा के अगर देखो एक बंदा
- 30:20ये सब पोज़ेस करता है। सब कुछ है उसके पास
- 30:22तो वो एक स्टूडेंट है। यहां पे हम ऐड कर
- 30:24सकते हैं कि वो किस स्कूल में पढ़ता है। है
- 30:27ना?
- 30:28ठीक है? अब वो एक टेंपलेट हो गया कि
- 30:30स्टूडेंट ऐसा दिखता है। अब आपने बोला कि
- 30:32देखो स्टूडेंट ऐसा दिखता है। आपने बोला एक
- 30:35टेंपलेट है। बट एक्चुअल स्टूडेंट कहां है?
- 30:37एक्चुअल स्टूडेंट यह है। कि भाई वो 15
- 30:39नंबर है। उसका आईडी यह है, नाम यह है।
- 30:41एक्चुअल स्टूडेंट यह है। तो, हमने क्या
- 30:43बोला? एक फंडामेंटल आईडिया बोला कि हमने
- 30:45सारा डाटा और बिहेवियर डाटा और बिहेवियर
- 30:49इसको उठाकर एक सिंगल यूनिट में बाइंड कर
- 30:51दिया। ठीक है? ठीक है? सिंगल यूनिट में
- 30:53बाइंड कर दिया। दैट विल प्रमोट मॉडिलिटी।
- 30:55मॉडिलिटी कैसे प्रमोट करती है? समझेंगे हम
- 30:57थोड़ी देर में। ठीक है? ये समझ आ जाएगा
- 30:58आगे के आने वाली वीडियोस में। ठीक है? ऊस
- 31:01प्रमोट्स मॉडलिटी बाय इनकैप्सुलेटिंग डाटा
- 31:03एंड बिहेवियर विद इन ऑब्जेक्ट्स। ठीक है?
- 31:06डाटा और बिहेवियर इसको इनकैप्सुलेट करके
- 31:09ठीक है? एक बंडल में डाल दिया। जैसे कि
- 31:10आपकी मेडिकल कैप्सूल होती है ना उसको उठा
- 31:12के एक बंडल में डाल दिया। ठीक है? और उस
- 31:14उस कैप्सूल को देखो आप जाओ घर पे एक
- 31:17कैप्सूल उठाओ। उसको जब खोलोगे उसके अंदर
- 31:18बहुत सारे ना अलग-अलग रेड, ब्लू, ग्रीन
- 31:21अलग-अलग ऐसे-ऐसे छोटे-छोटे छोटे-छोटे
- 31:22छोटे-छोटे छोटे-छोटे ऐसे स्पेयर्स से पड़े
- 31:24होंगे। छोटे-छोटे दाने से होंगे। है ना?
- 31:26जब मैं उस कैप्सूल को खोल दूं और फेंक दूं
- 31:27ऐसे तो बहुत सारे दाने पड़े होंगे। है ना?
- 31:29बहुत सारे छोटे-छोटे स्फेयर्स पड़े होंगे।
- 31:31छोटे-छोटे कि आप उसको देख के बोल दो किस
- 31:33किस चीज की कैप्सूल है? क्या करती है ये?
- 31:36नहीं बोल सकते। है ना? अब वही आपने सारे
- 31:38छोटे-छोटे दाने उठा के उस कैप्सूल के अंदर
- 31:40उसको बाइंड कर दिया। उस कैप्सूल को बोलते
- 31:42हो अच्छा यह आपकी फीवर की कैप्सूल है। है
- 31:45ना? फिर आइडेंटिफिकेशन होती है। सिमिलरली
- 31:47मैंने बोला कि सारे डेटा और बिहेवियर को
- 31:49उठाया और मैंने बाइंड कर दिया एक कैप्सूल
- 31:51के अंदर। और मैं बोल रहा हूं ये स्टूडेंट
- 31:53है। सारे डेटा को उठाया। जैसे बर्ड है।
- 31:55बर्ड का सपोज नाम होता है। है ना? बर्ड की
- 31:58ऐज होती है। ठीक है? बर्ड का कलर होता है।
- 32:00उसके फर कितने हैं? ये होता है। ठीक है?
- 32:02बर्ड के पैर कितने हैं? लेग्स कितने हैं?
- 32:05ये होता है। ठीक है? है तो ये मैंने उठाकर
- 32:07सारे डेटा वेरिएबल्स डाले डेटा मेंबर्स और
- 32:09बर्ड करता क्या है? फ्लाई करता है। ठीक
- 32:11है? खाता है, ईट करता है। है ना? ठीक है?
- 32:13ये सारी इनको उठा के मैंने एक बंडल में
- 32:15डाला। एक कंटेनर में डाला और मैंने बोल
- 32:17दिया देखो ये बर्ड है। ठीक है? ये
- 32:19कांसेप्ट होता है ऊप्स का्स। ये बेसिक सा
- 32:21कांसेप्ट है। ठीक है? होती इसमें बहुत
- 32:23सारी चीजें। है ना? ये बेसिक सा कांसेप्ट
- 32:25है। और यह कैसे आया? यह रियल लाइफ से
- 32:26इंस्पायर्ड है। ठीक है? इसलिए मैं हमेशा
- 32:28बोलता हूं कि ऊप्स इज लाइफ। ऊप्स इज लाइफ।
- 32:30और आगे जाते-जाते आप यही वर्ड सुनते
- 32:32रहोगे। ऊप्स इज लाइफ। अब ऊप्स लाइफ कैसे
- 32:34है? इस केस में कैसे लाइफ़ है? जैसे कि
- 32:37जैसे कि आपके रियल वर्ल्ड के अंदर अह कार
- 32:40होती है। है ना? जैसे रियल वर्ल्ड में कार
- 32:42होती है। आप कार को क्या बोलते हो कि कार
- 32:43के अंदर नंबर ऑफ टायर्स होते हैं कि
- 32:46व्हील्स कितने हैं? ठीक है? उसके अंदर
- 32:47सीट्स कितनी हैं? ठीक है? उसके अंदर आप अब
- 32:51लेफ्ट हैंड ड्राइव है, राइट हैंड ड्राइव
- 32:52है। ठीक है? उसके अंदर इंजन कौन सा डला
- 32:55हुआ है। है ना? ये सारी कार की एक एक वो
- 32:57है कि एक ऐसी अगर इंजन होगा, कुछ सीट्स
- 33:00होंगी, टायर लगे होंगे। ठीक है? कुछ बॉडी
- 33:02होगी, बॉडी शेप होगा तो ये उठा के कार
- 33:04होती है ये। ठीक है? अब ये मैंने बोला कार
- 33:07होती है ये। अब आप बोलते हो देखो यह तो
- 33:09आपने कार का टेंपलेट बना लिया अपने दिमाग
- 33:11में। अब आप जब जाते हो असली कार को देखने।
- 33:14अच्छा इसका कलर वाइट है। अच्छा इसमें पांच
- 33:16सीटें हैं। अच्छा इसमें चार टायर हैं।
- 33:18अच्छा ये 4/4 है। अच्छा इसके अंदर यह वाला
- 33:20इंजन है। तो, यह एक एक्चुअल कार होती है।
- 33:22है ना? कार का टेंपलेट आपके दिमाग में है
- 33:24कि अच्छा कार कुछ ऐसी दिखती है। ठीक है?
- 33:25और इस टेंपलेट को इस कार के टेंपलेट को
- 33:27पज़ेस करने वाले जितने भी ऑब्जेक्ट्स होंगे
- 33:29जो भी एंटिटी जो भी असली कार होंगी उन
- 33:31सबको आप बोलते हो ये भाई ये Maruti 800
- 33:33है। ठीक है? ये आपकी Scorpio है। ये आपकी
- 33:36Seltos है। है ना? ये आपकी Verna है। ऐसे
- 33:38बोलते हो। यस और नो। तो ये रियल वाइल रियल
- 33:41वर्ल्ड वाली चीज है कि ऐसे ऐसा रियल
- 33:42वर्ल्ड में होता है। रियल वर्ल्ड में
- 33:44एंटिटीज़ होती हैं। है ना? वही चीज हमने
- 33:47यहां पे डाल दी कि रियल वर्ल्ड के अंदर
- 33:48जैसे होता है वैसे हमने एक बोल दिया
- 33:49स्टूडेंट का एक टेंपल्लेट बना दिया कि
- 33:51इसकी जो जो वैल्यू्यूज भर लोगे आप। ठीक
- 33:53है? तो ये बोलोगे स्टूडेंट वन है। ये
- 33:54स्टूडेंट टू है। ये स्टूडेंट थ्री है। ये
- 33:56स्टूडेंट फोर है। इसी को कहते हैं ऊप्स।
- 33:58ये ऊप्स का फंडामेंटल कांसेप्ट है कि आप
- 34:00क्या करते हो? डेटा और बिहेवियर को बाइंड
- 34:03करके एक ऑब्जेक्ट में डाल देते हो। ठीक
- 34:05है? एक एक कंटेनर में डाल देते हो। ठीक
- 34:08है? ये एक फंडामेंटल कांसेप्ट है।
- 34:11आगे बढ़ते हैं। तो इस कांसेप्ट जो भी
- 34:14फंडामेंटल कांसेप्ट की बात करते हैं। इसको
- 34:15हम कुछ हम नेमिंग देते हैं। ठीक है? वो
- 34:17नेमिंग क्या होती है? समझते हैं। रियल
- 34:19वर्ल्ड एंटिटीज़ लाइक कार, पर्सन,
- 34:21स्टूडेंट, बिल्डिंग है ना? दे हैव सम
- 34:23स्टेट एंड बिहेवियर। अब जब से हम यही बात
- 34:25कर रहे हैं कि सबकी स्टेट होती है, कुछ
- 34:26बिहेवियर होता है। है ना? जैसे रियल
- 34:28वर्ल्ड एंटिटीज़ कार, कार, स्कूटर, बस इन
- 34:30सब की कुछ बिहेवियर होते हैं। है ना? कुछ
- 34:32स्टेट होती हैं। सिमिलरली प्रोग्रामिंग
- 34:34में भी सेम चीज आप कर सकते हो। ठीक है?
- 34:37सेम चीज़ आप कर सकते हो। जैसे फॉर एग्जांपल
- 34:39स्टूडेंट नेम राहुल रियल वर्ल्ड एंटिटी
- 34:42है। ठीक है? और ही इज़ एन ऑब्जेक्ट। ठीक
- 34:46है? ठीक है? ठीक है? सिमिलरली आपने बोला
- 34:47स्परो स्परो नहीं कोई आपकी पिजन है। पिजन
- 34:51का नाम आपने सपोज राजा रखा हुआ है। राजा
- 34:53नाम का पिजन है एक। ठीक है? तो वो क्या
- 34:55हुआ? वो एक रियल वर्ड एंटिटी हो गई। उसको
- 34:57मैं ऑब्जेक्ट एक उसको मैं प्रोग्राम में
- 34:58कह देता हूं। ऑब्जेक्ट है वो एक। ठीक है?
- 35:00वो एक ऑब्जेक्ट है। तो यानी कि यानी कि जो
- 35:04ये s1 स्टूडेंट है, ठीक है? प्रोग्रामिंग
- 35:06लैंग्वेज में इसको मैं एक ऑब्जेक्ट
- 35:07बोलूंगा। S2 स्टूडेंट है प्रोग्रामिंग
- 35:08लैंग्वेज में इसको मैं एक ऑब्जेक्ट
- 35:10बोलूंगा। S3 स्टूडेंट है, प्रोग्राम
- 35:12प्रोग्रामिंग लैंग्वेज में इसको मैं एक
- 35:14ऑब्जेक्ट बोलूंगा। ठीक है? अब एक ऑब्जेक्ट
- 35:17दिखता कैसा है? यह कैसे पता चलेगा? एक
- 35:19ऑब्जेक्ट दिखता कैसा है? यह कैसे पता
- 35:20चलेगा? जैसे आपको कोई गाड़ी जाते ही आपको
- 35:23कोई सपोज करो वाइट कलर की Fortuner जा रही
- 35:26है। जैसे ही जाती है आप उसको देखते ही बोल
- 35:28देते हो यह कार है। यस और नो क्योंकि वो
- 35:30वो वाली आपके दिमाग में एक ब्लूप्रिंट है।
- 35:33एक टेंपलेट है कि उसको आप देखते ही बोल
- 35:34देते हो दिस इज़ अ कार। बट एक्चुअली तो
- 35:36Fortuner है। है ना? तो इसका मतलब किसी
- 35:39कोई ऑब्जेक्ट दिखेगा कैसे? उसको डिफाइन
- 35:41करने का कुछ होना चाहिए कि यह ऑब्जेक्ट
- 35:43दिखेगा कैसे? इसको डिफाइन करने का कुछ ना
- 35:45कुछ होना चाहिए। ठीक है? तो मैंने कहा
- 35:47उसको हम क्लास कहते हैं प्रोग्रामिंग
- 35:49लैंग्वेज। ठीक है? कि आपके पास एक टेंपलेट
- 35:52होता है। एक ब्लूप्रिंट होता है। ठीक है?
- 35:55ब्लूप्रिंट होगा, टेंपलेट होगा। ठीक है?
- 35:57उसके अंदर होगा कि देखो एक जो कार होती
- 36:00है, एक जो कार होती है, उसके अंदर उसकी
- 36:03बॉडी शेप होती है। ठीक है? सेडन है या ये
- 36:06सब है। है ना? उसका कलर होता है। नंबर ऑफ
- 36:09टायर होते हैं। ठीक है? थिनली नंबर ऑफ
- 36:12सीड्स होती हैं एंड सो ऑन। यह सारी चीजें
- 36:15होती हैं। ठीक है? तो इसको मैं कार बोलता
- 36:17हूं। बट एक्चुअली जब मैं आता हूं इधर तो
- 36:19मैं बोलता हूं कि एक Fortuner बनानी हो
- 36:21मुझे। ठीक है? तो मुझे बनानी होगी एसयूवी
- 36:23बॉडी होती है उसकी। ठीक है? वाइट कलर होता
- 36:25है। सपोज वाइट कलर की Fortuner नंबर ऑफ़
- 36:27टायर उसके अंदर फोर होते हैं। सीट्स उसके
- 36:29अंदर सेवन होती हैं। तो, यह एक Fortuner
- 36:32है। ठीक है? सिमिलरली आते हो आप इधर इसी
- 36:34टेंपलेट को उठाते हो कार वाले टेंपल्लेट
- 36:36को। कार वाले ब्लूप्रिंट को। आप बोलते हो
- 36:37बॉडी शेप आपकी हैचबैक है। ठीक है? कलर
- 36:40आपका सपोज वाइट ही है। नंबर ऑफ टायर्स
- 36:43आपके फोर ही हैं। सीट्स आपकी फाइव है। ठीक
- 36:46है? एंड सो ऑन। और इंजन भी ले सकते हैं
- 36:48हम। इंजन इसके अंदर सपोज कोई K10 इंजन है।
- 36:50इसके अंदर कोई XYZ इंजन है। ठीक है? तो
- 36:53इसको मैं बोल देता हूं Wagon R।
- 36:56ठीक है? तो असली ऑब्जेक्ट कहां है? असली
- 36:58रियल वर्ल्ड एंटिटी कौन सी है? Wagon R
- 37:00Fortuner। यह रियल वर्ल्ड एक्चुअल एंटिटी
- 37:02है। बट यह कार है। यह टेंपलेट कहां है? ये
- 37:05आपके दिमाग में है। यस ये आपके दिमाग में
- 37:07है। सिमिलरली इसी को अगर हम जो
- 37:09प्रोग्रामिंग लैंग्वेज में बोल रहा हूं तो
- 37:10मैं बोलता हूं जो क्लास है क्लास जो है वो
- 37:13क्या है? एक टेंपलेट है।
- 37:16टेंपलेट है कि भ ये ये प्रॉपर्टीज होंगी।
- 37:18ये ये बिहेवियर होगा वो एक कार है। है ना?
- 37:20या फिर इसको मैं ब्लूप्रिंट बोल सकता हूं।
- 37:22ब्लूप्रिंट है।
- 37:25ठीक है? और ऑब्जेक्ट क्या है? ऑब्जेक्ट
- 37:27एक्चुअली उस पर्टिकुलर ब्लूप्रिंट या फिर
- 37:30उस टेंपलेट को पज़ेस करने वाला कोई एंटिटी
- 37:34कोई वेरिएबल है ना ठीक है डन है तो हमने
- 37:39कहा कि ऑब्जेक्ट इज़ एन इंस्टेंस ऑफ़ क्लास
- 37:41ठीक है ये सिंपली बोल सकते हैं कि कोई
- 37:42क्लास है आपकी कार क्लास है उसका एक
- 37:44इंस्टेंस ठीक है प्रोग्राम लैंग्वेज में
- 37:46कहते हैं इसको इंस्टेंस कि उसका एक
- 37:48इंस्टेंस वो एक ऑब्जेक्ट होगा ठीक है तो
- 37:51कार जो है वो एक क्लास है और Fortuner और
- 37:54Wagon R एक ऑब्जेक्ट है ठीक ठीक है? ये
- 37:56माइंड में क्लियर हुआ? ये सब लाइफ से
- 37:58रिलेटेड है। है ना? रियल लाइफ में भी ऐसे
- 38:00ही होता है। कार आपके माइंड में होती है।
- 38:02ठीक है? और एक्चुअली वो Fortuner होती है।
- 38:04राइट? आगे बढ़ते हैं। बहुत देर से भैया आप
- 38:07बोल रहे हो कि एट्रिब्यूट्स बिहेवियर।
- 38:09एट्रिब्यूट्स बिहेवियर मतलब क्या है चीट?
- 38:11है ना? ऑलदो हम समझ चुके हैं। बट एक बार
- 38:13फॉर्मूले फिर से समझते हैं। मैंने बोला एक
- 38:15पर्सन है। अब ध्यान से देखो। अगर मैं आपको
- 38:17ये फिगर दिखाऊं। एक पर्सन मैंने बोला
- 38:19पर्सन है। ठीक है? नेम है। नेम होता है।
- 38:21देखो पर्सन जो होता है ना उसका एक नेम
- 38:23होता है। ठीक है? स्ट्रिंग होती है। एक
- 38:24पर्सन जो है ना उसकी ऐज होती है। पर्सन की
- 38:26ऐज तो होती है ना। पर्सन जो है उसकी हाइट
- 38:28होती है। ऐसी वेट होती है। बहुत सारी
- 38:29चीजें अभी हमने तीन लिखी हुई हैं बस। और
- 38:31एक पर्सन स्पीक करता है। एक पर्सन ईट करता
- 38:33है। आपने बोल दिया यह पर्सन है। अब अब
- 38:36आपने बोला देखो इस टेंपलेट को उठाया मैंने
- 38:39और इस टेंपलेट को पॉज़ेस करने वाले ठीक है?
- 38:41मेरे पास क्या है? मेरे पास एक मेरा एक
- 38:43दोस्त है जिसका नाम राहुल है। मेरे पास एक
- 38:45मेरा दोस्त है जिसका नाम लव है। ठीक है?
- 38:46मेरे पास एक मेरा दोस्त है जिसका नाम
- 38:50राम है। ठीक है? मेरे पास एक दोस्त है
- 38:51मेरे उसका नाम कुणाल है।
- 38:55ठीक है? तो मेरे पास अब ये क्या है? ध्यान
- 38:57से देखो। ये सारे हैं ऑब्जेक्ट्स। ये सारे
- 39:00ऑब्जेक्ट्स हैं प्रोग्रामिंग लैंग्वेज की
- 39:02भाषा में उसकी लैंग्वेज में। ठीक है? और
- 39:04ये क्या है? ये क्या है? टेंपलेट है। ये
- 39:06क्लास है। यह क्लास है। कि भाई अब आप क्या
- 39:10बोल सकते हो कि राहुल जो है एक इंस्टेंस
- 39:12है पर्सन क्लास का। लव जो है वो एक
- 39:15इंस्टेंस है पर्सन क्लास का। ये सारे
- 39:17पर्सन हैं पर सब अलग-अलग हैं। तो हमने
- 39:19क्या बोला कि हर हर क्लास के अंदर कुछ
- 39:22एट्रिब्यूट्स और बिहेवियर होते हैं। ये
- 39:24एट्रिब्यूट्स हैं और ये बिहेवियर होते
- 39:25हैं। ठीक है? और इनके ऑब्जेक्ट इनकी
- 39:28अलग-अलग वैल्यू पोज़ेस करते हैं। कैसे
- 39:30अलग-अलग वैल्यू? देखो राहुल जो है ना उसका
- 39:32नाम राहुल है। वो तो पता ही है आपको। उसकी
- 39:33ऐज 18 है। ठीक है? और उसकी हाइट है 5 8।
- 39:36लव जो है ना? उसकी ऐज है 25। ठीक है? और
- 39:40उसकी ऐज है सिक्स। इसकी हाइट है 61। ठीक
- 39:42है? राम जो है ना उसकी ऐज है सपोज़ 24।
- 39:46उसकी हाइट है 59 ठीक है? कुणाल जो है ना
- 39:48उसकी भी कुछ ऐज है पर्टिकुलर सब 59 उसकी
- 39:51हाइट है। उसकी ऐज 23 है। ठीक है? तो ये
- 39:54सारे क्या हो गए? अलग-अलग ऑब्जेक्ट हो गए।
- 39:55इनको बोलेंगे डिफरेंट ऑब्जेक्ट्स। दे आर
- 39:57डिफरेंट पर्सन है ना? और ये पर है क्या
- 40:00सारे? ये सारे पर्सन हैं। ये सारे पर्सन
- 40:02हैं। ठीक है? तो हमने क्या बोला कि
- 40:04एट्रिब्यूट्स आर स्टेट। ठीक है?
- 40:06प्रॉपर्टीज ऑफ़ एन ऑब्जेक्ट। स्टेट कैसे
- 40:08है? कि देखो ना स्टेट कैसे बोलेंगे इसको?
- 40:11कि यह नेम है।
- 40:13ठीक है? ये ऐज है। ये हाइट है। ठीक है?
- 40:16सिमिलरली ये नेम है। ये ऐज है। ये हाइट
- 40:18है। तो ये दो अलग-अलग स्टेट हैं। ये अलग
- 40:20स्टेट है। ये अलग स्टेट है। ठीक है? दो
- 40:22अलग-अलग प्रॉपर्टीज हैं। ठीक है? तो इनको
- 40:24हम बोलते हैं ऑब्जेक्ट्स। ये ऑब्जेक्ट है
- 40:26किस चीज के? क्या टेंपलेट पे बेस्ड है?
- 40:28ठीक है? क्या क्या इसका ब्लूप्रिंट है?
- 40:30उसको मैं बोलता हूं क्लास। और बिहेवियर
- 40:33क्या होता है? बिहेवियर इज़ मेथड ऑफ़ फंक्शन
- 40:34दैट एन ऑब्जेक्ट कैन परफॉर्म। कि कोई
- 40:36ऑब्जेक्ट है वह स्पीक कर सकता है, लव भी
- 40:39स्पीक कर सकता है, काम भी स्पीक कर सकता
- 40:41है, गुना भी स्पीक कर सकता है। यह सारे ईट
- 40:42भी कर सकते हैं। ठीक है? तो हम हमारे पास
- 40:45एक क्लियर आइडेंटिफिकेशन हो गई हमारे पास
- 40:47कि ऊप्स लाइफ है। जैसे कि लाइफ के अंदर
- 40:50एंटिटीज होती हैं और हर एंटिटी किसी
- 40:52टेंपलेट पे बेस्ड होती हैं। सिमिलरली
- 40:54सिमिलरली यहां पर भी वहां पर ऑब्जेक्ट्स
- 40:57होते हैं और वो ऑब्जेक्ट्स किसी क्लास का
- 41:00इंस्टेंस होते हैं। ठीक है? अब ये जो
- 41:02लैंग्वेज है ये ऊप्स वाली लैंग्वेज है कि
- 41:04जो ऑब्जेक्ट है इज़ एन इंस्टेंस ऑफ़ अ
- 41:06क्लास। ठीक है? आपने सपोज एक और एग्जांपल
- 41:09लेते हैं। हमने बोला कैमरा। ठीक है? अब
- 41:10मैंने बोला कि कैमरे का ब्लूप्रिंट बनाता
- 41:12हूं फटाफट। देखो कैमरा जो होता है उसके
- 41:14अंदर लेंस होता है। है ना? और कैमरे के
- 41:16अंदर आपका मेमोरी कार्ड होता है कि कितना
- 41:19सपोर्टेड मेमोरी कार्ड है ये होता है। ठीक
- 41:21है? और कैमरे के अंदर कितने मोड्स हैं ये
- 41:24होता है। ठीक है? तो ये तीन चीज़ जिसमें
- 41:26होती है ना उसको मैं कैमरा बोलता हूं। ठीक
- 41:27है? अब आप आते हो कि देखो एक Sony का X1
- 41:30कैमरा है। ठीक है? क्या आप बोलते हो? एक
- 41:32Samsung का कैमरा है। Samsung के कैमरे
- 41:34में आपका लेंस लेंस ए डलता है। ठीक है?
- 41:36Sony कैमरा लेंस बी डलता है। ठीक है? ठीक
- 41:39है? और Samsung का कैमरा जो है उसके अंदर
- 41:42Samsung का कोई पर्टिकुलर मॉडल का जो
- 41:44कैमरा है सपोज Samsung मॉडल का नाम S1 है।
- 41:46ठीक है? S1 वाले मॉडल के अंदर ये
- 41:48पर्टिकुलर उसके अंदर ये पर्टिकुलर लेंस
- 41:50डलता है। यह पर्टिकुलर उसके अंदर मोड्स
- 41:52होते हैं। तो वो क्या है? वह एक Samsung
- 41:54वह एक कैमरा एंटिटी या कैमरा ब्लूप्रिंट
- 41:57को उठाकर बना हुआ एक ऑब्जेक्ट है जो
- 42:00Samsung का X1 कैमरा है। S1 कैमरा है। तो
- 42:02Samsung का S1 कैमरा जो है वो पर्टिकुलर
- 42:05कैमरा वो एक ऑब्जेक्ट है और जो कैमरा है
- 42:07वो एक क्लास है। ठीक है? वो एक क्लास है
- 42:09कि भ ये एक ब्लूप्रिंट है कि देखो ऐसा
- 42:11कैमरा दिखता है। ठीक है? आगे बढ़ते हैं। तो
- 42:14हमें फाइनली अगर मैं इन सब चीजों को एक एक
- 42:17समराइज़ करें कि क्या समझ आया इससे? हमें
- 42:20यह समझ आता है कि ऑब्जेक्ट ओरिएंटेड
- 42:21प्रोग्रामिंग जो है ना एक प्रोग्रामिंग
- 42:22पैराडाइम है। एक तरीका है, एक वे है। ठीक
- 42:24है? एक टूल है लिखने का जो कि फोकस करता
- 42:28है इंप्लीमेंटिंग रियल वर्ल्ड ऑब्जेक्ट्स।
- 42:29जैसे रियल वर्ल्ड में ऑब्जेक्ट्स होते
- 42:30हैं, जैसे रियल वर्ल्ड में आपके
- 42:32टेंप्लेट्स होते हैं। ठीक है? उसी तरीके
- 42:34से ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग वर्क
- 42:35करती है। ठीक है? मेन इसका फंडामेंटल
- 42:37आईडिया क्या है? कि मैं और डेटा या फिर
- 42:39प्रॉपर्टीज। डेटा को प्रॉपर्टीज भी बोल
- 42:41देता हूं। डेट डेटा को मैं स्टेट भी बोल
- 42:42सकता हूं। डेटा प्रॉपर्टीज इन सबको और साथ
- 42:45में बिहेवियर कि वह क्या फंक्शनंस करता
- 42:47है, क्या मेथड्स करता है। उन सबको उठाकर
- 42:49मैंने एक एंटिटी में एक कैप्सूल में बंद
- 42:51कर दिया। ठीक है? ये इसका फंडामेंटल
- 42:53आईडिया है। ठीक है? द आइडेंटिफिकेशन ऑफ़
- 42:56कोड ऑब्जेक्ट सिमिलर टू रियल वर्ल्ड
- 42:58ऑब्जेक्ट। जैसे कोड के अंदर हम आइडेंटिफाई
- 43:00करेंगे कि ऑब्जेक्ट्स क्या हैं? जैसे रियल
- 43:02वर्ल्ड रियल लाइफ ऑब्जेक्ट जैसे होते हैं।
- 43:04ठीक है? स्ट्रक्चरिंग कोड यूजिंग क्लासेस
- 43:06एंड ऑब्जेक्ट सिग्निफाई द यूज़ ऑफ़ ऊप्स।
- 43:10ठीक है? अगर आपने अपने कोड के अंदर
- 43:12क्लासेस डिफाइन की है। ठीक है? और क्लासेस
- 43:13के आप ऑब्जेक्ट्स बना रहे हो। ठीक है? तो
- 43:16उसको मैं क्या बोलता हूं? उसको मैं बोलता
- 43:17हूं ऊप्स का प्रिंसिपल यूज़ हो रहा है। ठीक
- 43:18है? क्लास इन ऑब्जेक्ट्स सर्व एज अ
- 43:20फंडामेंटल बिल्डिंग ब्लॉक। क्लासिक जहां
- 43:22भी क्लासेस ऑब्जेक्ट्स यूज़ हो रहे होंगे,
- 43:23वहां पे आप ऊप्स यूज़ कर रहे हो। ठीक है?
- 43:25और बहुत सारी प्रोग्रामिंग लैंग्वेज हैं
- 43:26जो ऊप्स सपोर्ट करती हैं। ठीक है? पहले
- 43:28सपोर्ट नहीं होता था। जैसे कि C हो गई,
- 43:30पास्कल हो गई, फोर्टन फोर्टन लैंग्वेज है
- 43:32एक। ठीक है? उनको आप उठाओगे, तो वह एक
- 43:34प्रोसीजर लैंग्वेज है। उसके अंदर आप
- 43:36क्लासेस ऑब्जेक्ट्स नहीं बना सकते। बट आप
- 43:37C++ के अंदर, जावा के अंदर, जावास्क्रिप्ट
- 43:39के अंदर एंड सो ऑन, Python के अंदर इनके
- 43:41अंदर ऑब्जेक्ट्स बना सकते हो। और फाइनली
- 43:42एक और आईडिया से अगर मुझे समराइज़ करना हो,
- 43:44समराइज़ करना हो। जैसे कि आप C++ या जावा
- 43:46दोनों में आप क्या करते हो? इंटीजर
- 43:48डिक्लेअर करते हो। ठीक है? आप इंटीजर
- 43:49लिखते हो इंटीजर अ A तो आपको क्या लगता है
- 43:53कि भैया ये ना A वेरिएबल है। एक वेरिएबल
- 43:56है जो कि ना इंटीजर टाइप की वैल्यू स्टोर
- 43:59करेगा। ठीक है? इसकी वैल्यू फाइव हो सकती
- 44:01है। थोड़ी देर आप सिक्स कर सकते हो। थोड़ी
- 44:03देर आप सेवन कर सकते हो। है ना? ठीक है?
- 44:05मैंने बोला कि जैसे यह एक वेरिएबल है या
- 44:07फिर इसको मैं डेटा टाइप बोलता हूं नॉर्मल
- 44:09प्रोग्राम लैंग्वेज में। ठीक है? इसको डेट
- 44:11टाइप बोल देते हैं। सिमिलरली मैंने कहा कि
- 44:14एक ना स्टूडेंट टाइप का डेटा टाइप है। ठीक
- 44:17है? और यह क्या-क्या पोज़ेस करता है? यह
- 44:20नेम प्रोसेस करता है। इसके अंदर आईडी होता
- 44:22है। ठीक है? इसके अंदर एज होती है। नंबर
- 44:24ऑफ़ सब्जेक्ट होते हैं। ठीक है? इसके अंदर
- 44:27इसका बिहेवियर भी होता है कि स्लीप कर रहा
- 44:29है। स्टडी कर रहा है। है ना? और बंग कर
- 44:31रहा है। ये सारी चीजें होती हैं। तो मैंने
- 44:33बोला स्टूडेंट टाइप का डेटा टाइप है। ठीक
- 44:35है? डेटा टाइप है। तो मैं जो ये स्टूडेंट
- 44:37है जिसको मैं क्लास बोलता हूं। एक टेंपलेट
- 44:39बोलता हूं कि स्टूडेंट एक क्लास ऐसी दिखती
- 44:41है। इसके अंदर ये सारी चीजें होती हैं। है
- 44:43ना? इसको मैं एक डेटा टाइप की तरह भी बोल
- 44:45सकता हूं। अब मैंने बोला एक S1 स्टूडेंट
- 44:47है। सिमिलरली मैंने बोला स्टूडेंट है एक
- 44:50एक S2 स्टूडेंट है। ठीक है? बट ये दोनों
- 44:52अलग-अलग होंगे। ठीक है? बट है क्या? दोनों
- 44:55स्टूडेंट हैं। सिमिलरली आपने एक इंटीजर A
- 44:57लिया। एक जैसे इंटीजर B लिया। तो ये दोनों
- 44:59क्या है बताओ? ये दोनों इंटीजर हैं। पर ये
- 45:01दोनों A और B अलग-अलग वैल्यू्यूज पोज़ेस कर
- 45:03सकते हैं। सिमिलरली स्टूडेंट क्या है?
- 45:05स्टूडेंट एक क्लास है, डेटा टाइप है। ठीक
- 45:08है? एनालॉजी बिठा रहा हूं मैं। ठीक है? और
- 45:10S1, S2 दो अलग-अलग स्टूडेंट हैं। और इनके
- 45:12इनके जो जैसे रियल लाइफ में दो अलग-अलग
- 45:14स्टूडेंट होते हैं। उनके अलग-अलग
- 45:16प्रॉपर्टीज होती हैं। सिमिलरली इनके भी
- 45:17अलग-अलग वैल्यूज़ होंगी। इसकी आईडी अलग
- 45:20होगी, इसकी ऐज अलग होगी। S2 की आईडी अलग
- 45:22होगी, एज अलग होगी। एंड सो ऑन। ठीक है? तो
- 45:24क्लास को मोटा-मोटे डेट टाइप की तरह भी ले
- 45:26सकते हैं अभी के लिए। और यह था आपका ऊप्स
- 45:29का कॉन्सेप्ट जिसमें ऑब्जेक्ट ओरिएंटेड
- 45:30प्रोग्रामिंग कर रहे हैं। ऑब्जेक्ट्स बना
- 45:32रहे हैं रियल वर्ल्ड एंटिटी को की एनालॉजी
- 45:35बिठा रहे हैं अपने कोड के अंदर। ठीक है?
- 45:37तो ये था आपका हुप्स का छोटा सा
- 45:40इंट्रोडक्शन और नेक्स्ट वीडियो में हम
- 45:42देखेंगे किस तरीके से हम क्लास और
- 45:43ऑब्जेक्ट्स बना सकते हैं। ठीक है? तो बहुत
- 45:44ही अच्छा। मिलते हैं नेक्स्ट वीडियो में।
- 45:46तब तक के लिए गुड बाय। इस वीडियो में
- 45:47देखने वाले हैं हाउ टू क्रिएट एन ऑब्जेक्ट
- 45:49इन C++। तो C++ लैंग्वेज में ऊप्स के
- 45:52कॉनंसेप्ट्स को मैं कैसे कोड करता हूं। है
- 45:54ना? जैसे कि लास्ट वीडियो में हमने सीखा
- 45:56था कि ऊप्स का फंडामेंटल प्रिंसिपल ये है
- 45:58कि हम एट्रिब्यूट्स को और बिहेवियर को
- 46:00उठाकर एक बंडल में पैक कर देते हैं।
- 46:03कंटेनर में डाल देते हैं। इनकैप्सुलेट कर
- 46:05देते हैं। है ना? ये एक फंडामेंटल
- 46:06प्रिंसिपल है। ठीक है? तो ये चीज करते
- 46:08कैसे हैं? कोड में कैसे कर सकते हैं? अगर
- 46:09मैंने रियल वर्ल्ड एंटिटी एक स्टूडेंट
- 46:11आइडेंटिफाई की है तो उस स्टूडेंट एंटिटी
- 46:14को मैं कैसे कोड कर सकता हूं? उसका
- 46:16ऑब्जेक्ट कैसे बना सकता हूं? उसका
- 46:17इंस्टेंस कैसे बना सकता हूं? समझते हैं।
- 46:19तो ऑब्जेक्ट बनाने के लिए हमने सीखा था कि
- 46:22ऑब्जेक्ट बनाने के लिए हमें एक ब्लूप्रिंट
- 46:23चाहिए होता है। एक टेंपल्लेट चाहिए होता
- 46:24है। उसको मैं बोलता हूं क्लास। ठीक है? तो
- 46:27सबसे पहला काम जो मुझे करना पड़ेगा जो
- 46:29डिफाइन करना पड़ेगा वो एक स्टूडेंट नाम का
- 46:32टेंपलेट डिसाइड करना पड़ेगा। जिसको मैं
- 46:34कोडिंग लैंग्वेज में क्लास बोलता हूं। ठीक
- 46:37है? उसके बाद सेकंड मुझे क्या करना
- 46:39पड़ेगा? फिर मुझे उसके इंस्टेंसेस बनाने
- 46:41पड़ेंगे। ठीक है? जो कि स्टूडेंट वन,
- 46:44स्टूडेंट टू है ना? बहुत सारे स्टूडेंट्स
- 46:45हो सकते हैं। उनको मैं क्या बोलता हूं?
- 46:47ऑब्जेक्ट्स।
- 46:50ठीक है? तो ये दो काम करने हैं। बट ये दो
- 46:52काम करने से पहले हमारे पास जो एक क्लास
- 46:54बनती है, उसका स्ट्रक्चर जानते हैं कि एक
- 46:56जो क्लास होती है, जिसको मैं क्लास बोल
- 46:58रहा हूं, जो टेंपलेट होता है, उसका
- 47:00स्ट्रक्चर कैसा होता है? C++ में। सबसे
- 47:03पहले क्लास का एक कंस्ट्रक्टर होता है।
- 47:06ठीक है? कंस्ट्रक्टर होता है। क्लास का
- 47:08कंस्ट्रक्टर क्या हेल्प करता है? जैसे कि
- 47:09नाम ही सजेस्ट कर रहा है। वो उस क्लास
- 47:13के ऑब्जेक्ट को बनाने में हेल्प करता है।
- 47:15ठीक है? अगेन रिपीट कर रहा हूं। क्लास
- 47:17क्या है? वह तो एक टेंपलेट है। क्लास खुद
- 47:19में कुछ नहीं है। क्लास बता रही है कि हां
- 47:21कि कोई स्टूडेंट कैसा दिखेगा। बट जब कोई
- 47:23स्टूडेंट बनने आएगा एक्चुअली जब कोई
- 47:25स्टूडेंट एक्चुअली बनने आएगा तो ये
- 47:27कंस्ट्रक्टर नाम की चीज ना हेल्प करेगी
- 47:29उसको। ठीक है? अभी थ्योरी समझते हैं। फिर
- 47:32सीधा कोड करेंगे मजा आएगा। ठीक है? हमारे
- 47:34पास एक चीज होती है डिस्ट्रक्टर।
- 47:37ठीक है? वहां पे एक डिस्ट्रक्टर भी होता
- 47:38है कि डिस्ट्रक्ट करना पड़ेगा। ठीक है? और
- 47:41हमने लास्ट वीडियो में ये भी सीखा था कि भ
- 47:44हम जो क्लास बना रहे थे जो टेंपलेट बना
- 47:45रहे थे उसमें दो चीजें थी। एक थी
- 47:47एट्रिब्यूट।
- 47:49ठीक है? दूसरा बिहेवियर।
- 47:52ठीक है? एट्रिब्यूट को हम स्टेट भी बोलते
- 47:53थे, प्रॉपर्टीज भी बोलते थे। बिहेवियर को
- 47:55हम मेथड्स भी बोलते थे, फंक्शनंस भी बोलते
- 47:56थे। ठीक है? तो हमें यहां पे कुछ
- 47:58एट्रिब्यूट्स डिसाइड करने पड़ेंगे। कुछ
- 48:01एट्रिब्यूट्स बताने पड़ेंगे क्लास के। साथ
- 48:04ही साथ कुछ बिहेवियर भी बताने पड़ेंगे।
- 48:09ठीक है? तो इन सब चीजों से ही मेरी क्लास
- 48:11पूरी हो जाएगी। ठीक है? इसको फटाफट से कोड
- 48:13करते हैं। स्टूडेंट क्लास बनाते हैं। ठीक
- 48:15है? समझते हैं। ठीक है? तो ये आपका सीपीपी
- 48:18फाइल है। है ना? कुछ इस प्रकार दिखती है।
- 48:20अगर मुझे क्लास बनानी है तो उसके लिए मैं
- 48:22एक मेरे पास एक कीवर्ड होता है जिसका नाम
- 48:23होता है क्लास। ठीक है? मैंने वो स्टूडेंट
- 48:25डिफाइन किया। एस मैंने कैपिटल क्यों रखा
- 48:27है? क्योंकि एक अच्छी कन्वेंशन है। ठीक
- 48:29है? अच्छा माना जाता है इसको। ठीक है? ठीक
- 48:31है? फिर ये कर्ली बसेस डालने के बाद ये एक
- 48:34एंपटी क्लास हो गई। ठीक है? ये एक एंप्टी
- 48:37क्लास हो गई। फिर हम पब्लिक लिखते हैं।
- 48:39ठीक है? अब ये पब्लिक क्या होता है भैया?
- 48:41इसको हम नेक्स्ट वीडियो में पढ़ेंगे। जब
- 48:43हम इनकैप्सुलेशन अच्छे से पढ़ेंगे। अभी के
- 48:45लिए मान लेते हैं पब्लिक डालना होता है
- 48:47ताकि इस क्लास के अंदर जो भी चीज मैं
- 48:50लिखूंगा ना वो मेन में एक्सेस हो जाए या
- 48:52बाकी कोड में एक्सेस हो पाए। ठीक है? अभी
- 48:54के लिए इतना समझ लेते हैं या फिर नहीं भी
- 48:55समझ आ रहा बस पब्लिक लिख लेते हैं अभी के
- 48:57लिए। ठीक है? तो सबसे पहली चीज जो मुझे
- 49:00डिफाइन करनी होती है वो होती है
- 49:01एट्रिब्यूट्स। ठीक है? क्लास के क्या
- 49:03एट्रिब्यूट्स होंगे? क्या प्रॉपर्टीज
- 49:05होंगी? ठीक है? तो स्टूडेंट के
- 49:07एट्रिब्यूट्स क्या होते हैं? स्टूडेंट की
- 49:09एक आईडी होती है। ठीक है? इंटीजर टाइप
- 49:11होती है। मैंने बोला स्टूडेंट आईडी। ठीक
- 49:13है? आईडी हो गई।
- 49:15स्टूडेंट की एक ऐज होती है। है ना? और
- 49:18स्टूडेंट का नेम भी होता है। यस नेम भी
- 49:20होता है।
- 49:22और नंबर ऑफ सब्जेक्ट्स होते हैं। ठीक है?
- 49:24तो इस प्रकार मेरी क्लास बनती है। है ना?
- 49:27एट्रिब्यूट्स बनते हैं। तो अभी तक मैंने
- 49:29क्या बनाया? अभी तक मैंने एट्रिब्यूट्स
- 49:31डिसाइड कर दिए। इन्हीं चीजों की बात हो
- 49:32रही थी। मैंने कहा एट्रिब्यूट्स होते हैं,
- 49:34बिहेवियर होते हैं। है ना? एक और चीज जो
- 49:36अभी हमने देखी थी क्लास में कंस्ट्रक्टर
- 49:38भी मुझे बनाना पड़ता है। ठीक है? और
- 49:40डिस्ट्रक्टर भी मुझे बनाना पड़ता है।
- 49:41हेल्प क्या करता है? ये जब भी मैं कोई
- 49:43ऑब्जेक्ट बनाऊंगा इस क्लास का इस क्लास के
- 49:45नाम का कोई स्टूडेंट बनाऊंगा। S1 स्टूडेंट
- 49:47बनाऊंगा, S2 स्टूडेंट बनाऊंगा। ठीक है? तब
- 49:50वो हेल्प करेगा मेरी। ठीक? कैसे करेगा?
- 49:52थोड़ी देर में समझेंगे। नेक्स्ट मैंने
- 49:54बोला कि एट्रिब्यूट्स होते हैं। साथ ही
- 49:55हमने बहुत पढ़ा कि बिहेवियर होता है। ठीक
- 49:58है? कि भ स्टूडेंट क्लास का बिहेवियर कैसा
- 50:00है? या फिर इसके अंदर क्या-क्या मेथड्स
- 50:04होंगे? वो क्या कर सकता है या फिर
- 50:06फंक्शनंस बोल सकते हैं। ठीक है? एक ही चीज
- 50:09है सब कुछ। तो मैंने बोला स्टूडेंट जो
- 50:11हमारा क्या-क्या कर सकता है? स्टूडेंट
- 50:13हमारा स्टडी कर सकता है। मैंने एक फंक्शन
- 50:15बना लिया। एक स्टूडेंट स्टडी कर लेगा। है
- 50:16ना? तो यहां पर हम डाल सकते हैं कि मेरा
- 50:19स्टूडेंट स्टडी कर रहा है। ठीक है?
- 50:23मैंने लिख दिया स्टडी।
- 50:28ठीक है? नेक्स्ट मैंने बोला स्टूडेंट जो
- 50:31है स्लीप करता है।
- 50:34स्लीप करता है। तो मैंने बोला मेरा
- 50:37स्टूडेंट स्लीप कर रहा है।
- 50:40स्लीपिंग
- 50:42सिमिलरली हो सकता है मेरा स्टूडेंट जो है
- 50:44वो बंक भी मारता हो। है ना? तो मैं बोल
- 50:45सकता हूं बंक भी कर देता है वो कई बार।
- 50:48तो हम यहां लिख सकते हैं सी आउट
- 50:52बंकिंग।
- 50:56ठीक है? अब एक और चीज यहां स्पेलिंग गलत
- 50:59हो गई थोड़ी सी बंकिंग। अब एक और चीज जो
- 51:02हम कर सकते हैं वो यह कि कौन सा स्टूडेंट
- 51:05बंक कर रहा है। है ना? कौन सा स्टूडेंट
- 51:08स्लीप कर रहा है? कौन सा स्टूडेंट स्टडी
- 51:10कर रहा है। ठीक है? तो मेरे पास नाम है
- 51:12स्टूडेंट का। ठीक है? तो मैं नाम डाल देता
- 51:14हूं यहां पे। ठीक है? तो मैं बोल देता हूं
- 51:17मैं बोल देता हूं कि मेरा जो नेम है, ठीक
- 51:20है? अब नेम भी लिख सकते हैं या फिर मैं ये
- 51:22भी लिख सकता हूं इस क्लास को दर्शाने के
- 51:25लिए। ठीक है? इस क्लास ये पर्टिकुलर
- 51:27ऑब्जेक्ट को दर्शाने के लिए मेरा एक दिस
- 51:28कीवर्ड यूज़ होता है। ठीक है? तो मैंने
- 51:30बोला दिस इस पर्टिकुलर ऑब्जेक्ट का ठीक
- 51:34है? ऑब्जेक्ट अभी बना नहीं है। बट ऐसा मान
- 51:36लो कि इस पर्टिकुलर जिसकी बात हो रही है
- 51:38उस वो उसका नेम। ठीक है? वो स्टडी कर रहा
- 51:42है।
- 51:44ठीक है? दिस की दिस कीवर्ड क्या बताता है?
- 51:46उस पर्टिकुलर ऑब्जेक्ट को सिग्निफाई कर
- 51:48रहा है। दिस पॉइंटर है एक दिस एक पॉइंटर
- 51:50है जो कि उस पर्टिकुलर ऑब्जेक्ट जिस
- 51:52ऑब्जेक्ट की अभी बात हो रही है। ठीक है?
- 51:54इसको दिमाग में रखेंगे हम। दिस पॉइंटर जिस
- 51:58ऑब्जेक्ट की अभी बात हो रही है उस पर
- 52:01पॉइंट कर रहा है। बस अब इतना दिमाग में
- 52:02रखेंगे जब एग्जांपल समझेंगे सब समझ आ
- 52:04जाएगा। ठीक है? मैंने कहा नेक्स्ट मैंने
- 52:06बोल दिया ये स्टूडेंट जो है यह स्लीपिंग
- 52:08है। ठीक है? यह जो स्टूडेंट है यही बंकिंग
- 52:11है।
- 52:15ठीक है जी। इतना काम मेरा हो गया। और हमने
- 52:19क्या गड़बड़ करी है? ओके।
- 52:22ठीक है।
- 52:26ठीक है? इतना काम हो गया। तो मैंने
- 52:27एट्रिब्यूट्स डिफाइन कर दिए। मैंने अपनी
- 52:29क्लास का बिहेवियर डिफाइन कर दिया। मैंने
- 52:30बताया कि कोई एक स्टूडेंट जो होता है उसका
- 52:32टेंपल्लेट उसका ब्लूप्रिंट क्या कहता है?
- 52:34उसकी आईडी होती है, उसका नेम होता है, एज
- 52:36होती है, नंबर सब्जेक्ट्स होते हैं। ठीक
- 52:38है? और उसका कुछ बिहेवियर होता है, स्टडी
- 52:39कर लेता है और बंद कर लेता है। और कौन सा
- 52:41स्टूडेंट स्टडी कर रहा है वो मैंने बता
- 52:43दिया दिस के नेम से। ठीक है? नेक्स्ट।
- 52:47नेक्स्ट हमारे पास किसी भी क्लास का एक
- 52:49कंस्ट्रक्टर भी होना चाहिए। ठीक है?
- 52:51कंस्ट्रक्टर क्या हेल्प करेगा? बहुत ही
- 52:52इंपॉर्टेंट होता है कंस्ट्रक्टर।
- 52:53कंस्ट्रक्टर क्या हेल्प करेगा?
- 52:55कंस्ट्रक्टर बताएगा कि भ जब मैं कोई
- 52:58ऑब्जेक्ट बनाऊंगा इस क्लास का, किसी इस
- 53:00क्लास का एक इंस्टेंस बनाऊंगा। ठीक है?
- 53:02जैसे कि इंटीजर होता है आपका। इंटीजर आपने
- 53:04बोला A इंटीजर है, B इंटीजर है, C इंटीजर
- 53:06है। तीन अलग-अलग इंटीजर है। ऐसे ही मैंने
- 53:08बोला स्टूडेंट A है, स्टूडेंट B है,
- 53:10स्टूडेंट C है। तो तीन अलग-अलग स्टूडेंट
- 53:12होंगे। तो उन तीन अलग-अलग स्टूडेंट्स को
- 53:13बनाने के लिए कंस्ट्रक्टर की जरूरत पड़ती
- 53:16है। ठीक है? तो मैंने बोला एक कंस्ट्रक्टर
- 53:17होता है जिसको मैं बोल देता हूं।
- 53:19कंस्ट्रक्टर कैसा दिखता है? ठीक है? सबसे
- 53:21पहले कंस्ट्रक्टर की शॉर्ट फॉर्म सीट और
- 53:23बोल देते हैं हम। ठीक है? सीट और
- 53:25कंस्ट्रक्टर। ओके? और एक डिफॉल्ट
- 53:28कंस्ट्रक्टर होता है। अगर आप खुद
- 53:29कंस्ट्रक्टर नहीं बनाते तो एक डिफॉल्ट
- 53:31कंस्ट्रक्टर होता है जो कि आपका C++ का जो
- 53:33कंपाइलर है वो अपने आप ही इंसर्ट कर देता
- 53:35है। अगर आप भूल जाते हो उधर डालना। ठीक
- 53:37है? बट वो करता क्या है? वो कुछ नहीं
- 53:38करता। वो कुछ इस प्रकार का होता है।
- 53:40कंस्ट्रक्टर का अगर मैं टेंपलेट की बात
- 53:42करूं तो ये इसी का नाम है। जो क्लास का
- 53:45कंस्ट्रक्टर बना रहे हो उस उस क्लास का
- 53:47नाम लिख दो। साथ में ये एक फंक्शन जैसा
- 53:49फंक्शन कॉल वाली चीज बना दो और इस तरीके
- 53:52से लिख दो और आप बोल दो बस यहां पर
- 53:56कि स्टूडेंट का डिफॉल्ट कंस्ट्रक्टर
- 54:02कॉल्ड
- 54:05ठीक है जी इतना काम हो गया अब जैसे कि
- 54:08कंस्ट्रक्टर होता है सेम चीज होती है एक
- 54:11डिस्ट्रक्टर ठीक है क्या काम होता है हम
- 54:13समझेंगे आराम से है ना अभी बता रहा हूं बस
- 54:16मैं कि ये कंस्ट्रक्टर होता है।
- 54:17डिस्ट्रक्टर की शॉर्ट फॉर्म डिटोर बोल
- 54:19देते हैं हम। है ना? और
- 54:22ये एक डिफ़ॉल्ट ही होता है। ठीक है?
- 54:24डिफ़ॉल्ट ही होता है। और इसको बताने के लिए
- 54:27हमें एक टिल डे का साइन लगाना होता है।
- 54:29ठीक है? तो ये क्या बन गया? डिस्ट्रक्टर।
- 54:31इसको क्या बोल रहे हो? स्टूडेंट
- 54:34डिस्ट्रक्टर डिफ़ॉल्ट डिटोर। ठीक है? ये एक
- 54:37ही होता है ये। ठीक है? अगर आप इसको नहीं
- 54:39डिफाइन करते हो, इसको अगर मैं यहां से हटा
- 54:40देता हूं, तो ये बाय डिफ़ॉल्ट कंपाइलर
- 54:42इंसर्ट करता है। कंपाइलर इंसर्ट बाय
- 54:44डिफ़ॉल्ट एक डिफ़ॉल्ट कंस्ट्रक्टर भी इंसर्ट
- 54:46करता है। डिफ़ॉल्ट डिस्ट्रक्टर भी इंसर्ट
- 54:48करता है। बट हम अच्छे कोडर हैं तो हम खुद
- 54:50से लिख देते हैं। ठीक है? तो हमने इतना
- 54:52काम लिख दिया। हमारा काम हो गया। अब ये एक
- 54:54रॉ क्लास बन गई। ठीक है? तो क्लास में
- 54:56क्या-क्या समझ आ रहा है मुझे? मेरे पास
- 54:58क्लास कीवर्ड यूज़ करना पड़ता है। उस क्लास
- 55:00का नाम लिखना पड़ता है। भाई क्या नाम है उस
- 55:02क्लास का। ठीक है? एक कर्ली बेसिस डालने
- 55:04होंगे। ठीक है? एंड में यह बहुत जरूरी है।
- 55:06सेमी कॉललन इसको हटाऊंगा तो ये एरर देगा।
- 55:10मेरे पास क्या-क्या चीज थी भैया? बहुत देर
- 55:12से आप एट्रिब्यूट्स बोल रहे थे। बिहेवियर
- 55:13बोल रहे थे। मैंने बोला एट्रिब्यूट्स
- 55:14मैंने ये डाल दिए। ठीक है? बिहेवियर मैंने
- 55:16ये डाल दिए। अब मैंने बोला कि कोई भी
- 55:18स्टूडेंट है आपने अब इस टेंपलेट को यूज़
- 55:20करके इस क्लास को यूज़ करके आप बहुत सारे
- 55:22स्टूडेंट बना सकते हो। ए, बी, सी, डी, ई,
- 55:24एफ, जी दुनिया भर के स्टूडेंट बना सकते
- 55:25हो। थाउजेंड्स ऑफ़ स्टूडेंट बना सकते हो।
- 55:27तो उन हर एक स्टूडेंट की अपनी-अपनी
- 55:29प्रॉपर्टीज होंगी। अपनी-अपनी स्टेट्स
- 55:31होंगे। अलग-अलग होंगे सारे स्टूडेंट्स। तो
- 55:33उन उनके अलग-अलग नेचर को डिस्टिंग्विश
- 55:35बनाने के लिए कंस्ट्रक्टर डिस्ट्रक्टर का
- 55:37यूज होता है। ठीक है? ओके। कैसे यूज़ होता
- 55:40है? समझेंगे 2 मिनट में बस। मैंने कहा कि
- 55:44स्टूडेंट बनाते हैं। मैंने बोला स्टूडेंट
- 55:48ठीक है? A स्टूडेंट बना लेते हैं। कैपिटल
- 55:50A ओके? बना लिया। सिमिलरली मैंने बोला
- 55:54स्टूडेंट बना लेते हैं। ए ही बनाते हैं
- 55:55अभी सपोज़। मैंने बोला A का जो नेम है। ठीक
- 55:58है? आप ध्यान से देखो इसके नेम्स और इसके
- 56:00एट्रिब्यूट्स कैसे सेट कर सकता हूं मैं।
- 56:01ठीक है? नाइव तरीका है। मैंने बोला A का
- 56:04जो आईडी है उसको मैं वन सेट कर देता हूं।
- 56:07A की जो ए स्टूडेंट जो है उसकी जो एज है
- 56:10उसको मैं 18 डाल देता हूं या फिर 15 डाल
- 56:12देता हूं। चलो ठीक है? ए स्टूडेंट जो है
- 56:15और उसकी जो नेम है नेम है उसको मैं
- 56:20रानू डाल देता हूं। ठीक है? और ए की जो
- 56:23नंबर ऑफ़ सब्जेक्ट है रानू कितने सब्जेक्ट
- 56:25पढ़ता है? सिक्स सब्जेक्ट्स पढ़ता है। ठीक
- 56:26है? तो ये एक स्टूडेंट बन गया अलग से। ठीक
- 56:29है? अभी मैंने एक ही स्टूडेंट बनाया। ठीक
- 56:31है? ध्यान से देखो। एक ही स्टूडेंट बना
- 56:32है। अब आप बोल सकते हो भैया अभी भी तो आप
- 56:34बहुत सारी चीजें लिख रहे हो। ठीक है? रुक
- 56:36जाओ थोड़ी देर में आते हैं। इसका एक बहुत
- 56:37ऑप्टिमाइज तरीका भी बताएंगे। अब ध्यान से
- 56:39देखो। आपने क्या किया है? अभी आपने बोला
- 56:41स्टूडेंट क्लास का एक इंस्टेंस बनाया है
- 56:44जिसको मैं A बोल रहा हूं। तो A खुद में एक
- 56:46अलग स्टूडेंट है। ठीक है? और उसके
- 56:48क्या-क्या प्रॉपर्टीज हैं? क्या-क्या
- 56:49एट्रिब्यूट्स हैं? वो हमने यहां डिफाइन
- 56:51किए। और उसके बिहेवियर्स क्या हैं? ये ये
- 56:53हैं। ठीक है? तो अगर मैं सिंपली इसको अभी
- 56:55रन करूंगा। रन करूंगा तो देखते हैं क्या
- 56:57होता है।
- 56:59मैंने इसको रन किया। अब ध्यान से देखो।
- 57:02यहां पर रन हुआ है इस पोजीशन पे। अब देखो
- 57:04दो चीज प्रिंट हुई है कि स्टूडेंट डिफॉल्ट
- 57:07कंस्ट्रक्टर कॉल्ड स्टूडेंट डिफॉल्ट
- 57:09डिस्ट्रक्टर कॉल्ड। ठीक है? समझते हैं
- 57:11क्या मतलब है इसका? इसका मतलब है। ठीक है?
- 57:13आपके पास एक स्टूडेंट नाम का टेंपलेट था।
- 57:16ठीक है? स्टूडेंट नाम का टेंपलेट था जिसको
- 57:18मैं क्लास बोल देता हूं। है ना? आपने ए
- 57:21टाइप का स्टूडेंट बनाया ए टाइप। ठीक है?
- 57:23तो जैसे ही आपका कोड रन हुआ। ठीक है? जैसे
- 57:25ही आपका कोड रन हुआ। रन होते ही जहां पे
- 57:27आपने यह लिखा था स्टूडेंट ए। ठीक है? उसने
- 57:30क्या बोला भाई? ए स्टूडेंट बना दो फटाफट
- 57:33से। बना दो। उसने कंस्ट्रक्टर कॉल करा कि
- 57:36मैंने स्टूडेंट बना दिया है। कंस्ट्रक्टर
- 57:38का बोल इसका मतलब क्या समझ आता है हमें?
- 57:40कंस्ट्रक्टर कब कॉल होगा? जब स्टूडेंट बन
- 57:42रहा होगा। ठीक है? ओके? फिर जब स्टूडेंट
- 57:46आपका डिस्ट्रॉय हो रहा होगा। यानी आउट
- 57:47ऑस्कोप। जब जिस पोजीशन पे रिटर्न ज़ीरो हुआ
- 57:49होगा। रिटर्न ज़ीरो। यानी कि प्रोग्राम
- 57:51खत्म होने वाला है। उस पोजीशन पे क्या हुआ
- 57:53होगा? डिस्ट्रक्टर कॉल हुआ होगा। डिटोर कि
- 57:55स्टूडेंट डिस्ट्रॉय हो रहा है। ठीक है? तो
- 57:58लाइन नंबर 46 पे क्या कॉल हुआ? टू टेंट
- 58:01कंस्ट्रक्ट हो रहा है। यानी कंस्ट्रक्टर
- 58:02कॉल हुआ होगा। ठीक है? तो उसके बाद लाइन
- 58:05नंबर 51 जो एग्जीक्यूट हुआ होगा रिटर्न कर
- 58:07रहे हैं। मेन से बाहर निकल रहे हैं। ठीक
- 58:08है? आपका स्कोप से बाहर जा रहे हैं। ये
- 58:10हमने पढ़ा है C++ में होता क्या है कि
- 58:12आपके पास स्कोप है। ठीक है? उस स्कोप के
- 58:14अंदर अगर कोई वेरिएबल आप स्कोप से बाहर
- 58:16जाते हो। ठीक है? जैसे ही फंक्शन से आउट
- 58:18होते हो किसी फंक्शन से तो वो उस फंक्शन
- 58:20के लोकल सारे जितने भी वेरिएबल्स होते हैं
- 58:22वो सारे डिस्ट्रॉय हो जाते हैं। खत्म हो
- 58:24जाते हैं। तो जब भी कोई क्लास का ऑब्जेक्ट
- 58:27खत्म होता है तो वो अपनी टेंपलेट से
- 58:29कॉस्पोंडिंग जो डिस्ट्रक्टर होता है उसे
- 58:31कॉल करता है। तो उसने कॉल कर दिया अपने
- 58:33डिस्ट्रक्टर को। ठीक है? अब ध्यान से देख
- 58:36हमने क्या देखा? हमने एट्रिब्यूट्स देखे।
- 58:37अब A के बिहेवियर हैं। सपोज A क्या करता
- 58:39है? A अभी गया है। स्टडी कर रहा है। A
- 58:41स्टडी कर रहा है। देखो बोला A स्टडी कर
- 58:44रहा है। तो देखें A स्टडी कर पाता है कि
- 58:45नहीं।
- 58:47ओके। आपने क्या बोला कि भाई आपका स्टूडेंट
- 58:50बना। ठीक है? और रानू स्टूडेंट था। रानू
- 58:52स्टडी कर रहा है। ठीक है? और फिर रानू
- 58:53डिस्ट्रॉय हो गया। ठीक है? डन है। अब देखो
- 58:56सिमिलरली मैंने बोला कि एक काम करते हैं।
- 58:59एक और स्टूडेंट बनाते हैं। एक और स्टूडेंट
- 59:01बनाते हैं। मैंने बोला एक बी नाम का
- 59:03स्टूडेंट है। ठीक है? और यहां पे सब जगह
- 59:07बी लिख देते हैं। बी
- 59:10बी। ठीक है? तो मैंने कहा कि बी का रोल
- 59:15नंबर टू है। है ना? उसकी 15 एज है। ठीक
- 59:17है? उसका नाम है सपोज़ अह राहुल। ठीक है?
- 59:21उसका नाम राहुल है और वह फाइव सब्जेक्ट
- 59:24पढ़ता है बस। ठीक है? और अभी मैंने बोला जो
- 59:26राहुल है ना राहुल जो है वो स्टडी नहीं कर
- 59:29रहा। स्टडी नहीं कर रहा। वो अभी बंग कर
- 59:32रहा है। राहुल बंग कर रहा है। तो अगर अब
- 59:35मैं रन करूंगा तो ध्यान से देखो। पहला
- 59:37स्टूडेंट बना। ठीक है? ये ए के
- 59:38कॉस्पोंडिंग कंस्ट्रक्टर कॉल हुआ है। ठीक
- 59:40है? फिर उसके बाद रानू रानू नाम था पहले
- 59:43स्टूडेंट का। रानू स्टडी कर रहा है। ओके?
- 59:45फिर ध्यान से देखो एक और कंस्ट्रक्टर कॉल
- 59:47हुआ यानी कि दूसरा स्टूडेंट बना होगा यहां
- 59:48पे स्टडी के बाद राइट लाइन नंबर 54 पे
- 59:51दूसरा स्टूडेंट बना फिर राहुल जो है राहुल
- 59:54नाम का स्टूडेंट था वो बंक कर रहा है ठीक
- 59:55है पढ़ता नहीं है वो बंक कर रहा है अब
- 59:57ध्यान से देखो बंक के बाद रिटर्न ज़ीरो जब
- 1:00:00कॉल हुआ तो ए स्टूडेंट ए भी डिस्ट्रॉय
- 1:00:03होगा स्टूडेंट बी भी डिस्ट्रॉय होगा दोनों
- 1:00:04ही आउट ऑफ स्कोप चले जाएंगे तो उसमें यह
- 1:00:06दोनों का डिस्ट्रक्टर कॉल हो गया ठीक है
- 1:00:10अगर मैं ध्यान से देखूं तो मैं यहां पे यह
- 1:00:12लिख सकता हूं कि किसका डिस्ट्रक्टर कॉल
- 1:00:14हुआ
- 1:00:14जिसका
- 1:00:16नेम
- 1:00:19तो हम देख सकते हैं किसका डिस्ट्रक्टर कॉल
- 1:00:20हुआ है। देन देखो राहुल का डिस्ट्रक्टर
- 1:00:23कॉल हुआ। दूसरा रानू का डिस्ट्रक्टर कॉल
- 1:00:25हुआ।
- 1:00:27ठीक है? यानी राहुल रानू दोनों का
- 1:00:29डिस्ट्रक्टर कॉल हो चुका है। ठीक है? और
- 1:00:31यह मैटर नहीं करता कि किसका पहले कॉल हो
- 1:00:33रहा है। ठीक है? दोनों ही अल्टीमेटली
- 1:00:34डिस्ट्रॉय हो रहे हैं।
- 1:00:37ठीक है? डन है। इसको हटा देते हैं। दिस
- 1:00:39कीवर्ड को डिस्ट्रक्टर में यूज़ नहीं करते
- 1:00:41ज्यादा। है ना? चलो। नेक्स्ट इसको डिफाइन
- 1:00:44करने का एक बेटर तरीका हो सकता है। ठीक
- 1:00:46है? ये ए बी ये जो ये वाला तरीका है ये
- 1:00:48बहुत ही ऑब्सोलेट और अच्छा तरीका नहीं है।
- 1:00:50इसमें बहुत ज्यादा कोड लिखना पड़ रहा है।
- 1:00:52ठीक है? अभी पर अभी आपने तो बताया था ना
- 1:00:53कि मैसी कोड को हटाने के लिए हम ये सब कर
- 1:00:55रहे हैं। ठीक है? तो देखते हैं। तो
- 1:00:57डिफॉल्ट कंस्ट्रक्टर ठीक है? हम मोस्टली
- 1:00:59यूज़ नहीं करते। हम यूज़ करते हैं
- 1:01:00पैरामीटराइज्ड कंस्ट्रक्टर। इसको हम बोलते
- 1:01:02हैं पैरा मीटराइज्ड
- 1:01:08कंस्ट्रक्टर। ठीक है? इसमें हम क्या
- 1:01:09पैराटर्स दे रहे हैं। यानी जिस टाइम पे
- 1:01:11मैं उस पर्टिकुलर ऑब्जेक्ट को बना
- 1:01:13रहाऊंगा, स्टूडेंट A को बना रहाऊंगा, उसी
- 1:01:15टाइम पर मैं उसके सारे एट्रिब्यूट
- 1:01:17डिस्पाइन कर दूंगा। ठीक है? कैसे करेंगे?
- 1:01:19पैरामीटर कंस्ट्रक्शन कुछ इस प्रकार दिखता
- 1:01:21है। मैं बोलता हूं इंट आईडी। ठीक है? इंट
- 1:01:23एज। फिर बोलता हूं मैं स्ट्रिंग नेम। ठीक
- 1:01:26है? फिर मैं बोलता हूं इंट नंबर ऑफ़
- 1:01:28सब्जेक्ट्स। ठीक है? मैंने बोला कि मैंने
- 1:01:31पैरामीटराइज कंस्ट्रक्टर कॉल कर दिया है।
- 1:01:34ठीक है? अब इसमें होगा क्या? ध्यान से
- 1:01:37देखो। आप कैसे डिफाइन करते हो इसको? कैसे
- 1:01:39डिफाइन करते हो? आप बोलते हो A स्टूडेंट
- 1:01:41बनाया मैंने स्टूडेंट A। ठीक है? और मैंने
- 1:01:45यह ब्रैकेट्स डाले और मैंने बोला
- 1:01:47पैरामीटराइज़ करना है। मुझे अभी की अभी बता
- 1:01:49देना इसमें क्या-क्या होगा। ठीक है? तो
- 1:01:50सबसे पहले आईडी थी तो मैंने लिखा आईडी
- 1:01:52इसकी वन होगी। ठीक है? ध्यान से देखो।
- 1:01:54आपका ये इंटेलिजेंस ने बता भी दिया है। ऐज
- 1:01:56आपकी इसकी 15 होगी। ठीक है? फिर उसका नाम
- 1:01:59रानू होगा। ठीक है? मैंने रानू डाल दिया।
- 1:02:02ठीक है? नंबर ऑफ़ सब्जेक्ट फॉर सिक्स पढ़ता
- 1:02:04है। ठीक है? तो ए स्टूडेंट बन गया। अब ये
- 1:02:07सारी वैल्यू्यूज क्या है? ये सारी
- 1:02:08वैल्यू्यूज आपने पैरामीटर के थ्रू यहां इस
- 1:02:11कंस्ट्रक्टर को भेज दी हैं। अब ये
- 1:02:13कंस्ट्रक्टर क्या करेगा? यह कंस्ट्रक्टर
- 1:02:15इन वैल्यूस को यूटिलाइज करके
- 1:02:19इस पर्टिकुलर क्लास के एट्रिब्यूट्स को
- 1:02:22सेट कर देगा और एक ऑब्जेक्ट बना देगा। ठीक
- 1:02:24है? ध्यान से देखते हैं। मैंने बोला यहां
- 1:02:26आ गए हम। अब हमने समझा था कि दिस कीवर्ड
- 1:02:29क्या बताता है? दिस कीवर्ड बताता है कि जो
- 1:02:31अभी ऑब्जेक्ट करंट ऑब्जेक्ट चल रहा है।
- 1:02:33ठीक है? अभी यहां कौन सा ऑब्जेक्ट चल रहा
- 1:02:34होगा? A ऑब्जेक्ट चल रहा होगा। जो A
- 1:02:36ऑब्जेक्ट चल रहा है उसकी वैल्यूज़ को वो
- 1:02:39पॉइंट कर रहा होगा। ठीक है? तो मैंने बोला
- 1:02:41ये जो A ऑब्जेक्ट बनने वाला है दिस इसकी
- 1:02:44आईडी को जो पैरामीटर से आईडी आई है वो सेट
- 1:02:47कर दो। ठीक है? दिस इसकी ऐज को जो
- 1:02:50पैरामीटर से एज आई है उसको वो सेट कर दो।
- 1:02:53ठीक है? दिस इसकी
- 1:02:57नेम को जो पैरामीटर से नेम आया है उसको
- 1:02:59सेट कर दो। ठीक है? दिस इसके नंबर ऑफ
- 1:03:03सब्जेक्ट्स को जो पैरामीटर से नंबर ऑफ
- 1:03:04सब्जेक्ट आए हैं उसको सेट कर दो। ठीक है?
- 1:03:07डन। अब इसका मतलब क्या हुआ है? इसका मतलब
- 1:03:10ये हुआ है लाइन नंबर 72 पे डिफाइन हुआ है
- 1:03:12कि मैं एक स्टूडेंट क्लास का एक इंस्टेंस
- 1:03:14बना रहा हूं। स्टूडेंट क्लास का एक
- 1:03:15ऑब्जेक्ट बना रहा हूं जिसका नाम ए रखूंगा।
- 1:03:17और उस ए के क्या-क्या एट्रिब्यूट्स होंगे?
- 1:03:19मैंने इधर भेज दिए। वो एट्रिब्यूट्स फ्लो
- 1:03:21करके इधर आ गए होंगे। ठीक है? अब मैं बोल
- 1:03:23रहा हूं कि ये जो एट्रिब्यूट्स आए हैं, ये
- 1:03:26तो आपके मेन से आए हैं। ठीक है? अब मैं इन
- 1:03:28एट्रिब्यूट्स को सेट करना चाहता हूं। जब
- 1:03:30मैं इन एट्रिब्यूट्स को सेट करूंगा वो
- 1:03:32कैसे करूंगा मैं बोलूंगा कि जो क्लास अभी
- 1:03:34मैं बनाने जा रहा हूं ठीक है इससे कौन सी
- 1:03:36क्लास बनेगी स्टूडेंट टाइप स्टूडेंट टाइप
- 1:03:39की क्लास का ए ऑब्जेक्ट बनेगा तो जो
- 1:03:42ऑब्जेक्ट अभी मैं बनाने जा रहा हूं जो कि
- 1:03:44दिस पॉइंटर पॉइंट करता है उसकी आईडी को
- 1:03:47आईडी सेट कर दो उसकी ऐज को एज सेट कर दो
- 1:03:50ठीक है इसको मैं सिंटेक्स बोल सकता हूं ये
- 1:03:52मेरा सिंटेक्स है इसको सिंटेक्स बोलते हैं
- 1:03:53इसी तरीके से ये चलता है मैंने पैरामीटर
- 1:03:56कंस्ट्रक्टर दे दिया अब देखो ये एक ही
- 1:03:58लाइन में डिफाइन हो जाएंगे ठीक है अब मैं
- 1:03:59मल्टीपल ऐसे ऐसे ही स्टूडेंट डिफाइन कर
- 1:04:01सकता हूं मैं। ए, बी, सी, डी कितने भी
- 1:04:03स्टूडेंट डिफाइन कर सकता हूं। मैंने बोला
- 1:04:05बी स्टूडेंट डिफाइन कर देते हैं। एक सी
- 1:04:07स्टूडेंट है। एक डी स्टूडेंट है। ठीक है?
- 1:04:10इनके सबके इसको मैं इसको बोल देता हूं 13
- 1:04:13ऐज का है। यह 11 ऐज का है। ठीक है? यह
- 1:04:16आपका 43 ऐज का है। ठीक है? इसका नाम राहुल
- 1:04:20था। ठीक है? इसका नाम सपोज़ रीना है। ठीक
- 1:04:23है? इसका नाम सपोज
- 1:04:27रोनाल्डो है। ठीक है? तो इस तरीके से
- 1:04:30मैंने सेट कर दिया। सर यह फाइव सब्जेक्ट
- 1:04:31फोर सब्जेक्ट पढ़ता है। ठीक है? सपोज ये
- 1:04:33सिक्स सब्जेक्ट पढ़ता है। ठीक है? और अब
- 1:04:36हम क्या कर सकते हैं? अब हम इनके
- 1:04:38एट्रिब्यूट सारे देख भी सकते हैं। कैसे?
- 1:04:40मैंने बोला सी आउट। भाई A का नाम बता दो।
- 1:04:46ठीक है? ठीक है? मैंने बोला A डॉट। अब
- 1:04:49देखो डॉट करते ही मेरा सब कुछ आ जाता है।
- 1:04:51मैंने बोला A का अब एक A के A की ऐज क्या
- 1:04:55है? यह बता दो।
- 1:04:57ठीक है? डन है? तो इस प्रकार हम कर सकते
- 1:05:00हैं। इन दोनों को अभी के लिए मैं कमेंट कर
- 1:05:01देता हूं। इसका अभी काम नहीं है। ठीक है?
- 1:05:03और इसको अब रन करके देखते हैं। तो इसको हम
- 1:05:05रन करेंगे। ध्यान से देखो। आपका
- 1:05:08कंस्ट्रक्टर तो कॉल होना ही होना है। A का
- 1:05:09कंस्ट्रक्टर कॉल हुआ होगा। ठीक है? ऐसे ही
- 1:05:11B का कंस्ट्रक्टर कॉल हुआ होगा। फिर ठीक
- 1:05:12है? फिर हमने क्या बोला? ए A ए A ए A ए A
- 1:05:14ए A ए A ए A ए A ए A ए A ए A ए A ए A ए A
- 1:05:14ए A ए A ए A ए A ए A ए A ए को हमने प्रिंट
- 1:05:16कराया। रानू की एज प्रिंट करा दी। रानू
- 1:05:19प्रिंट कराया। फिर रानू की एज प्रिंट करा
- 1:05:21दी। ठीक है? दोनों का डिस्ट्रक्टर कॉल हो
- 1:05:22गया। अपने आप ही डिस्ट्रक्टर अपने आप कॉल
- 1:05:24होता है। जब भी आपका आउट ऑफ माउंट जाते हो
- 1:05:27अपने आप कॉल होता है। ठीक है?
- 1:05:30ओके। नेक्स्ट एक काम कर सकते हैं। अब हम
- 1:05:33कि यह भी बोल सकते हैं। इसी प्रकार जैसे
- 1:05:35हमने पहले बोला था कि भाई बी जो है हम बोल
- 1:05:38सकते हैं ए जो है वह क्या कर रहा है? ए इस
- 1:05:40टाइम बंग कर रहा है। ठीक है? और बी क्या
- 1:05:43कर रहा है? बी सपोज सो रहा है। स्लीप कर
- 1:05:45रहा है।
- 1:05:47ठीक है? यह बिहेवियर हो गए इनके। तो,
- 1:05:48ध्यान से देखो। क्या बिहेवियर आइडेंटिफाई
- 1:05:50हो पा रहे हैं? बिल्कुल। रानू जो है
- 1:05:52बंकिंग कर रहा है और राहुल सो रहा है। ठीक
- 1:05:55है? अब देखो, दोनों ही स्टूडेंट क्लास से
- 1:05:57बने हुए हैं। दोनों ही स्टूडेंट क्लास से
- 1:05:59बने हुए हैं। बट दोनों अपनी अलग-अलग
- 1:06:01प्रॉपर्टीज पोज़ेस कर रहे हैं। एक का नाम
- 1:06:03राहुल है, एक का नाम रानू है। एक, एक की
- 1:06:05ऐज 15 है, एक की ऐज 13 है। और दोनों के
- 1:06:07रोल नंबर हमने सेम रख दिए हैं। अलग-अलग
- 1:06:09रखने चाहिए हमें। ठीक है? तो इस प्रकार
- 1:06:11होगा। तो इसका मतलब क्या होता है? कि
- 1:06:12क्लास एक टेंपलेट है। क्लास एक टेंपलेट
- 1:06:14है। ठीक है? उसके ऑब्जेक्ट्स बना दिए
- 1:06:16मैंने। ठीक है? और दिस कीवर्ड क्या करता
- 1:06:17है? दिस कीवर्ड उस जिस पर्टिकुलर ऑब्जेक्ट
- 1:06:19को अभी मैं बना रहा हूं, उसको रेफर करता
- 1:06:21है। जब मैं A को बनाने चलता हूं तो बोलता
- 1:06:23है भाई A ए का नाम A का नाम रानू सेट करो।
- 1:06:27ठीक है? तो ये हो गया हमारा पैरामीटराइज़
- 1:06:29कंस्ट्रक्टर। ठीक है जी? और क्या कर सकते
- 1:06:31हैं हम? और क्या कर सकते हैं? ठीक है? तो
- 1:06:33हमने समझ लिया। अब हम एक और टाइप का
- 1:06:36कंस्ट्रक्टर होता है जिसको हम बोलते हैं
- 1:06:37कॉपी कंस्ट्रक्टर। कॉपी कंस्ट्रक्टर।
- 1:06:41ठीक है? अब ये कॉपी कंस्ट्रक्टर क्या होता
- 1:06:42है? तो मैंने ए स्टूडेंट बनाया, बी
- 1:06:44स्टूडेंट बनाया। अभी बी स्टूडेंट को मैं
- 1:06:45कॉ वो कर देता हूं कमेंट। ठीक है? बी को
- 1:06:48मैंने कमेंट कर दिया। ए को ये बंकिंग को
- 1:06:50भी कमेंट कर दिया। सपोज़ मैंने कहा कि मैं
- 1:06:53एक स्टूडेंट बनाना चाहता हूं। स्टूडेंट
- 1:06:56B या C स्टूडेंट बनाना चाहता हूं। और
- 1:06:59मैंने बोला C स्टूडेंट ना पूरा का पूरा अ
- 1:07:01A जैसा ही है। C स्टूडेंट का नाम भी सेम
- 1:07:04है। सब कुछ सेम है। ठीक है? या मैं बोल
- 1:07:05सकता हूं A ही स्टूडेंट है। उसका मैंने
- 1:07:09नाम C स्टूडेंट भी बोल रहा हूं मैं उसको।
- 1:07:11ठीक है? a = जैसे होता है ना आप क्या
- 1:07:13लिखते हो आप इस तरीके से लिखते हो आप
- 1:07:15लिखते हो इंट a = 6 और आपको एक और इंटजर
- 1:07:18बनाना है इंट b ठीक है तो उसको सिक्स ही
- 1:07:21वैल्यू सेट करनी है आपने a = a कर दिया
- 1:07:23यही करना होता है आपको ठीक है तो ये तो
- 1:07:25इंटीजर केस में अपने आप ही कॉपी हो जाती
- 1:07:27है वैल्यू ठीक है बट क्लास के केस में
- 1:07:29आपको एक कॉपी कंस्ट्रक्टर बनाना पड़ता है
- 1:07:31ठीक है तो कॉपी कंस्ट्रक्टर कैसे बनाते
- 1:07:33हैं वो समझते हैं
- 1:07:35कॉपी कंस्ट्रक्टर का सिंटेक्स होता है
- 1:07:39ठीक है इसी प्रकार से होगा वो इसको कॉपी
- 1:07:42कर लेते हैं। इसमें कुछ मॉडिफिकेशंस कर
- 1:07:44लेंगे तो मेरा कॉपी कंस्ट्रक्टर बन जाएगा।
- 1:07:47मैं इसको कॉपी कंस्ट्रक्टर बोल देता हूं।
- 1:07:51ठीक है? हमने कॉल किया यहां पर कॉपी
- 1:07:53कंस्ट्रक्टर।
- 1:07:57ठीक है? अब देखो, कॉपी कंस्ट्रक्टर का
- 1:07:59मतलब क्या है? मैं किसी एक ऑब्जेक्ट
- 1:08:02ऑलरेडी बना हुआ है। ठीक है? मैं उस
- 1:08:03ऑब्जेक्ट को यूज़ करके नया ऑब्जेक्ट बना
- 1:08:05रहा हूं। ठीक है? नया इंस्टेंस बना रहा
- 1:08:07हूं। ठीक है? तो इसका मतलब मुझे किसी एक
- 1:08:09ऑब्जेक्ट से डेटा कॉपी करना है। किसी
- 1:08:11दूसरे ऑब्जेक्ट में डालना है। ठीक है? अगर
- 1:08:13मैं इसको ढंग से समझने की कोशिश करूं
- 1:08:16तो मैंने एक ऑब्जेक्ट बना दिया यहां पर।
- 1:08:19ठीक है? और उसका नाम है सपोज A। ठीक है?
- 1:08:21उसके कुछ-कुछ वैल्यूज़ हैं। उसके कुछ
- 1:08:23एट्रिब्यूट्स हैं। उसके कुछ बिहेवियर्स
- 1:08:25हैं।
- 1:08:27अब मैं चाहता हूं कि मैं एक B ऑब्जेक्ट
- 1:08:29बनाऊं। ठीक है? एक B ऑब्जेक्ट बनाऊं। और
- 1:08:31वो B ऑब्जेक्ट कैसा दिखना चाहिए? इसकी
- 1:08:33सारी वैल्यूज़ इसकी सारी वैल्यू्यूज कॉपी
- 1:08:36होकर इधर आ जाए। जैसे वेरिएबल हमने क्या a
- 1:08:38= b कर दिया था तो b की सारी वैल्यू a में
- 1:08:41चली गई थी। यह काम मैं कैसे करूंगा क्लास
- 1:08:43के अंदर? ठीक है? तो उसके लिए मुझे कॉपी
- 1:08:44कंस्ट्रक्टर चाहिए होता है। तो ध्यान से
- 1:08:46देखो। हम अभी क्या कर रहे हैं? a क्या है?
- 1:08:48ऑलरेडी एक क्लास का इंस्टेंस है। यानी एक
- 1:08:50ऑब्जेक्ट है। हम एक ऑब्जेक्ट को दूसरे
- 1:08:52ऑब्जेक्ट में कॉपी कर रहे हैं। एक
- 1:08:53ऑब्जेक्ट के एट्रिब्यूट्स को दूसरे
- 1:08:55ऑब्जेक्ट में कॉपी कर रहे हैं। तो यानी कि
- 1:08:57एक ऑब्जेक्ट के अंदर से चीजें निकाल के
- 1:08:59मुझे दूसरे ऑब्जेक्ट में कॉपी करनी है। तो
- 1:09:01मैं कैसे करता हूं इस चीज को? मैं यहां
- 1:09:02लिखता हूं कॉस्ट। ठीक है? मुझे क्या करना
- 1:09:05है? एक ऑब्जेक्ट से कॉपी करना है। वो
- 1:09:06ऑब्जेक्ट कैसा है? स्टूडेंट टाइप का
- 1:09:07ऑब्जेक्ट है। मैं स्टूडेंट टाइप का
- 1:09:09ऑब्जेक्ट इसको मैं बोल देता हूं सोर्स
- 1:09:10ऑब्जेक्ट। सोर्स ओबी जे ठीक है? ये मैंने
- 1:09:13बोल दिया। इसका मतलब क्या है? कॉस्ट का
- 1:09:15मतलब क्या है? कि जब भी ये सोर्स ओबीj जो
- 1:09:18वेरिएबल है ये चेंज नहीं हो पाएगा। यानी
- 1:09:19कि जिस चीज से मैं जिससे कॉपी कर रहा हूं
- 1:09:21सोर्स जो है मेरा जहां से कॉपी कर रहा हूं
- 1:09:23मैं उसको मैं चेंज ना कर पाऊं। इसलिए
- 1:09:25मैंने कॉस्ट लिख दिया। बस इसको ना भी
- 1:09:26लिखूं तो चलेगा। बट ये एक टाइप से बोल
- 1:09:28सकता हूं। सिंटेक्स का पार्ट है। गुड
- 1:09:29प्रैक्टिस है कि मैं कॉस्ट लिखूं ताकि यह
- 1:09:32वेरिएबल में चेंजेस ना हो पाए। हम
- 1:09:35मैंने यह एंड क्यों लिया? एंड इसलिए लिया
- 1:09:37है ताकि मैं बोल सकूं यह चीज बाय रेफरेंस
- 1:09:39आ रही है। ठीक है? बाय रेफरेंस आ रही है।
- 1:09:40कोई एक और कॉपी ना बने। ठीक है? कॉपी
- 1:09:42कंस्ट्रक्टर में वापस कॉपी बना रहे हो।
- 1:09:44अभी तो आप बता डिफाइन ही कर रहे हो कि कोई
- 1:09:46भी स्टूडेंट टाइप का ऑब्जेक्ट कैसे कॉपी
- 1:09:48होगा। वो आप यहां पे डिफाइन कर रहे हो।
- 1:09:50ठीक है? आपने यहीं पर अगर ये एंड नहीं
- 1:09:52लगाया तो हमें पता है C++ में बाय डिफ़ॉल्ट
- 1:09:55वाइल वैल्यू कॉल होता है। तो यहां पे कॉपी
- 1:09:57होंगी चीजें तो नहीं हो पाएंगी। ठीक है?
- 1:09:59तो इसके लिए हमें सिंटेक्स यही कहता है।
- 1:10:01सिंटेक्स यह कहता है। अगर आपको चीजें अभी
- 1:10:03नहीं भी समझ आ रही है तो आप मान सकते हो
- 1:10:04कि सिंटेक्स ऐसा कहता है कि मुझे ये चीज
- 1:10:06बाय रेफरेंस रखनी है क्योंकि मैं कॉपी
- 1:10:08कंस्ट्रक्टर डिफाइन कर रहा हूं। कॉपी अभी
- 1:10:10डिफाइन ही नहीं हुआ है। बाय डिफ़ॉल्ट C++
- 1:10:12बाय वैल्यू कॉल करता है। बाय वैल्यू कॉल
- 1:10:14करने का मतलब चीजें कॉपी होंगी। अब कॉपी
- 1:10:16बताई बताया ही नहीं आप आपने अभी स्टूडेंट
- 1:10:18क्लास में चीजें कैसे कॉपी होंगी? तो कैसे
- 1:10:19चल जाएगा कॉपी कंस्ट्रक्टर। है ना?
- 1:10:22नेक्स्ट अब मैं क्या करने वाला हूं? अब
- 1:10:24मैं बोल रहा हूं कि देखो ध्यान से देखो।
- 1:10:27इसको चलाते कैसे हैं? मैं बोलूंगा
- 1:10:29स्टूडेंट। ठीक है? मुझे C बनाना है। वह
- 1:10:32कैसा होगा? A जैसा होगा।
- 1:10:35ठीक है? इक्वल टू लगाया मैंने सिंपल। तो
- 1:10:38ये A एज ए पैरामीटर चला जाएगा। A एज ए
- 1:10:42पैरामीटर चला जाएगा। यानी ये एसआरसी
- 1:10:44ऑब्जेक्ट क्या बता रहा है? ये एसआरसी
- 1:10:46ऑब्जेक्ट क्या बता रहा है? एसआरसी ओबी जे
- 1:10:49ये A को सिग्निफाई कर रहा है। ए
- 1:10:52ठीक है? अब ध्यान से देखो। यह दिस किसको
- 1:10:56सिग्निफाई करेगा? अगर मैं इन सबको हटा दूं
- 1:10:58अभी के लिए। ठीक है? इन सबको हटा देता
- 1:10:59हूं। इन सबको हटा देता हूं। इन सबको हटा
- 1:11:01देता हूं। इनकी कुछ वैल्यू सेट करनी है
- 1:11:02मुझे। मैं अभी क्या बता रहा हूं? मैं सी
- 1:11:04ऑब्जेक्ट बना रहा हूं। तो ये दिस क्या
- 1:11:06सिग्निफाई करेगा? दिस ये दिस क्या
- 1:11:08सिग्निफाई करेगा? C ऑब्जेक्ट को। कि C
- 1:11:10ऑब्जेक्ट की आईडी क्या होगी? C ऑब्जेक्ट
- 1:11:12का ऐज क्या होगा? C ऑब्जेक्ट की नेम क्या
- 1:11:13होगा? जो नया ऑब्जेक्ट अभी बन रहा है।
- 1:11:15हमने क्या बोला था? दिस किसको सिग्निफाई
- 1:11:16करता है? जिस पर्टिकुलर ऑब्जेक्ट की अभी
- 1:11:18बात हो रही है जो अभी बन रहा है। ठीक है?
- 1:11:20जो चल रहा है। C चल रहा है। ए तो बन चुका
- 1:11:22है। है ना? तो मैंने क्या बोला? मैंने
- 1:11:25बोला भाई एसआरसी ऑब्जेक्ट
- 1:11:28का नेम
- 1:11:30का नेम नहीं आईडी आएगी यहां पे कि आईडी इस
- 1:11:32पे सेट कर दो।
- 1:11:35ठीक है? सिमिलरली मैंने क्या बोला? एसआरसी
- 1:11:38ऑब्जेक्ट।
- 1:11:40ठीक है? जो कि ए है ऑब्वियसली उसकी ऐज को
- 1:11:43उठाकर दिस की ऐज में डाल दो। यानी कि सी
- 1:11:46की ऐज में डाल दो।
- 1:11:48ठीक है? एसआरसी ऑब्जेक्ट का नेम इसमें डाल
- 1:11:51दो। ठीक है? एसआरसी ऑब्जेक्ट का ही नंबर
- 1:11:54ऑफ सब्जेक्ट्स इसमें डालता हूं। अब ध्यान
- 1:11:57से देखो। हमने क्या बोला था? मुझे सारी
- 1:11:59वैल्यू्यूज यहां से सारे एट्रिब्यूट्स की
- 1:12:02वैल्यू कॉपी करके नए ऑब्जेक्ट में डालनी
- 1:12:03है। क्या हमने सारे एट्रिब्यूट्स की
- 1:12:05वैल्यू कॉपी करके नए ऑब्जेक्ट में डाल दी?
- 1:12:07बिल्कुल बिल्कुल डाल दी। ठीक है? तो हमने
- 1:12:10इतना काम कर दिया। अब ये मेरा कॉपी
- 1:12:11कंस्ट्रक्टर बन चुका है। अब जब मैं इसको
- 1:12:13चलाऊंगा तो यह चल जाएगा। और मैं प्रिंट
- 1:12:16करूं अगर यहां पे C डॉट C डॉट C आउट करते
- 1:12:20हैं पहले। सी आउट।
- 1:12:23C का नेम।
- 1:12:27ठीक है? थोड़ा स्पेस देते हैं और A का भी
- 1:12:29नेम प्रिंट करते हैं। तो पहले मैंने C का
- 1:12:30नेम प्रिंट किया है। फिर A का नेम प्रिंट
- 1:12:32किया है।
- 1:12:34इसको रन करके देखते हैं।
- 1:12:37पहले क्लियर कर लेते हैं ताकि हमें ढंग से
- 1:12:39समझ आ जाए।
- 1:12:41ध्यान से देखो। ध्यान से देखो। हमने एक A
- 1:12:44को बनाया। A का पैरामीटर कंस्ट्रक्टर कॉल
- 1:12:46हुआ। अब ध्यान से देखो। कॉपी कंस्ट्रक्टर
- 1:12:47कॉल हुआ। एक कौन सी लाइन से कॉल हुआ होगा?
- 1:12:50नाइल नंबर 91 पे कॉपी कंस्ट्रक्टर कॉल
- 1:12:53हुआ। ठीक है? ए जो कि रानू है। रानू एक नए
- 1:12:56ऑब्जेक्ट में कॉपी हो गया। ठीक है? उसके
- 1:12:57सारे एट्रिब्यूट्स कॉपी हो गए। नए
- 1:12:58ऑब्जेक्ट में सी स्टूडेंट है वो। ठीक है?
- 1:13:00दोनों का दोनों में रानू रानू सेट हो गया।
- 1:13:02और फिर दोनों डिस्ट्रक्ट हो गए। ठीक है?
- 1:13:04इसको करने का यही तरीका होता है। एक
- 1:13:05सिंटेक्स ये भी होता है कि आप ऐसे भी लिख
- 1:13:07सकते हो। स्टूडेंट सी
- 1:13:09C और इसके पैरामीटर में ऐसे ए। तो ऐसे भी
- 1:13:12लिखते हो तो दोनों चीज़ ट्रू है। आप यह लिख
- 1:13:14लो या यह लिख लो। दोनों में ही कॉपी
- 1:13:15कंस्ट्रक्टर कॉल होगा। चला कर देखें।
- 1:13:18ध्यान से देखो। तो इसमें भी कॉपी
- 1:13:19कंस्ट्रक्टर कॉल हो चुका है। ठीक है? ठीक
- 1:13:22है जी। तो ये था आपका कॉपी कंस्ट्रक्टर।
- 1:13:25ठीक है? अब C++ में एक और चीज़ होती है।
- 1:13:27अगर आप सिंपली सिंपली आपने ऑब्जेक्ट लिखा
- 1:13:29है यहां पर ऐसे A ऑब्जेक्ट इसको डिफाइन
- 1:13:31किया है तो ये कहां पे डिफाइन हुआ होगा?
- 1:13:33ये आपका स्टक पे डिफाइन हुआ होगा। ठीक है?
- 1:13:35अगर आपको डायनामिक मेमोरी एलोकेशन करनी है
- 1:13:37इसकी। ठीक है? डायनामिक मेमोरी एलोकेशन तो
- 1:13:39वो कैसे करते हैं? समझते हैं। मुझे पॉइंटर
- 1:13:41से एक्सेस करना है। पॉइंटर से एक्सेस करना
- 1:13:43है। तो कैसे कर सकता हूं? मैंने बोला एक
- 1:13:45स्टूडेंट बनाओ। ठीक है? इसको हम लिख सकते
- 1:13:47हैं डायनेमिक
- 1:13:48डायनेमिक
- 1:13:50एलोकेशन और क्या बोल सकते हैं इसको?
- 1:13:53स्टूडेंट पॉइंटर।
- 1:13:55जैसे इंट टाइप का पॉइंटर बनाते हो। है ना?
- 1:13:57ऐसे ही यहां पर स्टूडेंट टाइप का पॉइंटर
- 1:13:59बनाएंगे हम। कैसे बनाएंगे? मैंने बोला
- 1:14:00स्टूडेंट अ स्टार ए ठीक है? स्टूडेंट एट
- 1:14:06एस्ट्रिक ए इक्वल टू न्यू स्टूडेंट। ठीक
- 1:14:10है? ये कहां पे एलोकेट होगा? हिप पे जाके।
- 1:14:12राइट? न्यू स्टूडेंट अ इसके अंदर हम क्या
- 1:14:15पैरामीटर कंस्ट्रक्टर कॉल करेंगे। मैंने
- 1:14:16बोला इसकी आईडी सपोज वन है। ठीक है? फिर
- 1:14:19एज इसकी 14 है। और इसका नाम सपोज अभी रख
- 1:14:22लेते हैं बब्बन। ठीक है? और नॉर्मल ऑफ़
- 1:14:27सब्जेक्ट के सेवन सब्जेक्ट पढ़ते हैं। बहुत
- 1:14:29सारे सब्जेक्ट पढ़ता है। तो मैंने क्या बना
- 1:14:31दिया है ये? मैंने क्या बनाया है? ये एक
- 1:14:34पॉइंटर बना दिया है। ठीक है? जो कि एक
- 1:14:37स्टूडेंट ऑब्जेक्ट को जो कि हिप पे पड़ा
- 1:14:39होगा उसको पॉइंट कर रहा है। तो ये क्या
- 1:14:41है? डायनेमिक मेमोरी एलोकेशन है। स्टूडेंट
- 1:14:42नाम का पॉइंटर बना दिया मैंने। ठीक है? अब
- 1:14:44इस केस में मुझे अगर इसके एट्रिब्यूट्स
- 1:14:46एक्सेस करने हैं तो कैसे करूंगा? मैं
- 1:14:47करूंगा ए एरो। ठीक है? जैसे इन टाइप के
- 1:14:50पॉइंटर में करते हैं हम। ए एरो इसका नाम
- 1:14:53बता दो।
- 1:14:56ठीक है? फिर क्या कर सकते हैं हम? ए एरो
- 1:14:59इसकी अ एज बता दो।
- 1:15:04ठीक है? फिर मैं बोल सकता हूं ए जो है वो
- 1:15:06अभी क्या कर रहा है? स्टडी कर रहा है। ठीक
- 1:15:09है? तो हमने बोला स्टडी कर रहा है ये। डन
- 1:15:12है। इतना काम हो गया। अब इसको फटाफट रन
- 1:15:14करके देख लेते हैं।
- 1:15:20ध्यान से देखो। स्टूडेंट का पैरामीटर
- 1:15:22कंस्ट्रक्टर कॉल हुआ। ठीक है? स्टूडेंट
- 1:15:24बना दिया हमने ए नाम का स्टूडेंट। जो ए
- 1:15:26नाम का स्टूडेंट यहां बना है। ठीक है?
- 1:15:28उसको कौन होल्ड कर रहा है? उसको एक पॉइंटर
- 1:15:30होल्ड कर रहा है जो कि स्टूडेंट टाइप का
- 1:15:31पॉइंटर है। ठीक है?
- 1:15:34फिर इसको एक्सेस करने का तरीका हमने देख
- 1:15:36लिया। ठीक है? बबन प्रिंट हो गया। आपका 14
- 1:15:38प्रिंट हो गया। ए स्टडी प्रिंट हो गया। अब
- 1:15:39आपको एक प्रॉब्लम दिख रही होगी यहां पे।
- 1:15:41वह क्या
- 1:15:43कि जब भी मैं स्टक पे एलोकेट कर रहा था
- 1:15:46नॉर्मल एक स्टूडेंट ए इस तरीके से बना रहा
- 1:15:48था तो ऑटोमेटिकली आपका डिस्ट्रक्टर कॉल हो
- 1:15:51जा रहा था। ठीक है? बट यहां पे
- 1:15:52डिस्ट्रक्टर कॉल हुआ क्या? ध्यान से देखो
- 1:15:54क्या हुआ क्या? वही C++ का सेम कांसेप्ट।
- 1:15:56अगर आप डायनेमिक मेमोरी एलोकेशन कर रहे हो
- 1:15:59तो आपको खुद से चीजें डिलीट करनी पड़ेंगी।
- 1:16:02खुद से आपको यह डिलीट करना पड़ेगा। अगर आप
- 1:16:05अब डिलीट कॉल करोगे तो आपका डिस्ट्रक्टर
- 1:16:07भी कॉल हो जाएगा। देखते हैं। ये देखो
- 1:16:09डिस्ट्रक्टर कॉल हो गया। डन है। ठीक है?
- 1:16:13तो ये था आपका डायनेमिक मेमोरी लोकेशन
- 1:16:16जिसमें स्टूडेंट टाइप का पॉइंटर बनाया
- 1:16:18हमने और अपना काम कर लिया। ठीक है? बहुत
- 1:16:20ही बढ़िया। अब आपको इससे एक चीज भी समझ आई
- 1:16:22होगी कि कि हम क्यों बेसिकली डिस्ट्रक्टर
- 1:16:25बना रहे हैं। क्यों हम डिस्ट्रक्टर बना
- 1:16:27रहे हैं? डिस्ट्रक्टर हम क्यों बना रहे
- 1:16:28हैं? कि सपोज़ आपने यहां पर कोई डायनेमिक
- 1:16:31मेमोरी ए लोकेशन करी हो। सपोज मैंने यहां
- 1:16:33पर एक ले लेता हूं जीपीए। एक पॉइंटर बना
- 1:16:35लेते हैं जीपीए कि इसकी कितनी जीपीए। ठीक
- 1:16:38है? और जब भी मैं जीपीए बनाऊंगा तो मैं
- 1:16:41यहां पर एक दे देता हूं कि बब्बन की सपोज
- 1:16:439.8 GPए है। ठीक है? मैं एक पैरामीटर एक
- 1:16:47कंस्ट्रक्टर यहां पे ऐड करता हूं जिसका
- 1:16:49नाम होगा फ्लोट जीपीए। ठीक है? और फिर मैं
- 1:16:53कैसे करूंगा? दिस का जीपीए इक्वल टू जो
- 1:16:57पैरामीटर से आ रहा है जीपीए वो। तो इससे
- 1:17:00क्या होगा? एक इंट स्टार टाइप का पॉइंटर
- 1:17:03बना। ठीक है? जो कि ऑब्वियसली एक डायनेमिक
- 1:17:05एलोकेशन होगी। और यहां पर डायनेमिक
- 1:17:06एलोकेशन नहीं हो पा रही। यहां पे हमने
- 1:17:08गड़बड़ की है। तो मुझे क्या करना पड़ेगा?
- 1:17:09न्यू इंट
- 1:17:13GPA।
- 1:17:16ठीक है? तो हमने क्या किया? हमने क्या
- 1:17:18किया? हमने बोला कि एक डायनेमिक मेमोरी
- 1:17:20एलोकेशन कर रहा हूं मैं। है ना? और उसके
- 1:17:22अंदर मैंने 9.8 उसकी सीजीपीए सेट करी।
- 1:17:24जीपीए सेट की। वो जीपीए जो कि पैरामीटर
- 1:17:27में यहां पे आई जो कि मैं पैरामीटर
- 1:17:28कंस्ट्रक्टर में ऑब्वियसली सेट करूंगा
- 1:17:30क्योंकि मैं उस टाइम ऑब्जेक्ट को बना रहा
- 1:17:31हूं। ए ऑब्जेक्ट आपका बन रहा है। ए
- 1:17:33स्टूडेंट आपका बन रहा है। तो उस पॉइंट पे
- 1:17:35मैंने दिस का जीपीए जो कि एक पॉइंटर है।
- 1:17:38पॉइंटर टू इंटीजर टाइप है। तो मैंने एक
- 1:17:40नया यहां पे डायनेमिक मेमोरी एलोकेशन कर
- 1:17:42दी। ठीक है? कर दी। अब उसके बाद ध्यान से
- 1:17:45देखो। अगर मैं डिलीट ना यूज़ करूं तो आपका
- 1:17:49डिस्ट्रक्टर कॉल नहीं होता। पर डिलीट
- 1:17:50मैंने यूज़ कर लिया तो डिस्ट्रक्टर तो कॉल
- 1:17:52हो जाता है। पर ध्यान से देखो। यह आपका
- 1:17:54कंस्ट्रक्टर के टाइम पर लाइन नंबर 30 पे
- 1:17:56एक एक मेमोरी एलोकेशन हुई थी। तो उसको
- 1:18:00मुझे डिलीट भी तो करना पड़ेगा। बेसिक C++
- 1:18:02कांसेप्ट। तो वो मैं डिलीट कहां कर सकता
- 1:18:04हूं? वो मैं डिलीट यहां कर सकता हूं कि
- 1:18:05भाई डिलीट कर दो किसको? दिस के जीपीए को।
- 1:18:11डन है। तो इससे मेरा मेमोरी लीक भी बच
- 1:18:12जाता है। इसलिए आपका डिस्ट्रक्टर यूज़ होता
- 1:18:15है कि अगर आप एक डायनेमिक मेमोरी लोकेशन
- 1:18:17कर रहे हो क्लास के अंदर। क्लास के अंदर
- 1:18:19आपने एक इंटीजर टाइप का पॉइंटर लिया हो,
- 1:18:21कोई पॉइंटर लिया हुआ डायनेमिक डायनेमिकली
- 1:18:23एलोकेट हो रहा है आपका यहां पर किसी
- 1:18:26कंस्ट्रक्टर में तो उसको डिलीट भी करना
- 1:18:28पड़ेगा। तो उसके लिए मुझे ये काम करना
- 1:18:30पड़ता है। ठीक है? तो ये थी डायनेमिक
- 1:18:32मेमोरी लोकेशन और उसके जो भी नो इफ एंड
- 1:18:36बट्स जो भी इंपॉर्टेंट चीजें हैं। तो आई
- 1:18:38होप आपको क्लास बनानी आ गई होगी। ठीक है?
- 1:18:40क्लास बनानी आ गई होगी। ठीक है? एक
- 1:18:42ब्लूप्रिंट बनाना आ गया हमें। है ना? हमें
- 1:18:43क्लास का इंस्टेंस बनाना आ गया। किस तरीके
- 1:18:45से आप ए बी सी स्टूडेंट्स बना रहे थे।
- 1:18:48कंस्ट्रक्टर पैरामीटर कंस्ट्रक्टर
- 1:18:49डिस्ट्रक्टर और क्यों जरूरी डिस्ट्रक्टर
- 1:18:51ये भी समझ लिया हमने है ना मेमोरी लीक ना
- 1:18:52हो और ऑब्जेक्ट लाइफ साइकिल भी हमने समझ
- 1:18:55ली कि जब भी आपका कोई ऑब्जेक्ट बनाते हो
- 1:18:57तो क्या होता है कोई ऑब्जेक्ट जैसे ही
- 1:18:58बनता है तो आपका सबसे पहले कंस्ट्रक्टर
- 1:19:00कॉल होता है ठीक है फिर उसके बाद आप क्या
- 1:19:02करते हो उसके एट्रिब्यूट्स को एक्सेस कर
- 1:19:05सकते हो और उसके मेथड्स को बिहेवियर को
- 1:19:07एक्सेस कर सकते हो कि स्टडी कर रहा है
- 1:19:09क्या फंक्शनंस अप कर रहा है आपका
- 1:19:10पर्टिकुलर ऑब्जेक्ट फिर उसके बाद उसको आप
- 1:19:13डिलीट करते हो तो ये आपका लाइफ साइकिल
- 1:19:14होता है किसका ऑब्जेक्ट का कि वो
- 1:19:16कंस्ट्रक्ट होगा कुछ-कुछ कुछ काम करेगा और
- 1:19:18डिस्ट्रक्ट होगा। क्या सेम चीज आपकी जीवन
- 1:19:21में नहीं होती? मैंने क्या कहा था? ऊप्स
- 1:19:22इज़ लाइफ। ऊप्स जीवन में क्या होता है? आप
- 1:19:25जन्म लेते हो। फिर उसके कुछ कुछ बिहेवियर
- 1:19:28करते हो। अपने कुछ एट्रिब्यूट्स अपनाते
- 1:19:29हो। अपने कुछ एट्रिब्यूट्स डेवलप करते हो।
- 1:19:32ठीक है? जो कुछ मां-बाप देते हैं आपके।
- 1:19:34कुछ आप खुद डेवलप करते हो। कुछ बिहेवियर
- 1:19:36होते हैं आपके। कुछ फंक्शनंस होते हैं
- 1:19:37आपके। है ना? कुछ फंक्शन कॉल करते हो,
- 1:19:39पढ़ते हो, घूमने जाते हो, ब्ल ब्ल। फिर
- 1:19:41उसके बाद एट द एंड आप डेथ। ठीक है? यह
- 1:19:44लाइफ की सच्चाई है। तो जैसा कि मैंने कहा
- 1:19:47लाइफ से ही इंस्पायर हो के ऊप्स बनाई गई
- 1:19:49है। ठीक है? जैसे रियल लाइफ में एंटिटीज
- 1:19:51होती है वैसे यहां कोड में कैसे करते हैं?
- 1:19:53वही काम करने के लिए मेरी ऊप्स यूज़ होती
- 1:19:55है। उसका एक्चुअल यूज़ क्या है कि जो हम
- 1:19:57बड़े-बड़े सिस्टम जो कि आपके रियल लाइफ
- 1:19:59बेस्ड प्रॉब्लम्स को सॉल्व करने के लिए जो
- 1:20:01सिस्टम्स बनाए जाते हैं उनके लिए जो कोड
- 1:20:03लिखा जाता है, वहां पर आप ऊप्स कांसेप्ट्स
- 1:20:05को यूज़ करते हो। और यही हम आगे जाके जब हम
- 1:20:08अपना लो लेवल डिज़ाइन पढ़ेंगे, तो ये बहुत
- 1:20:10ही आपको यूज़फुल होने वाला है यह कांसेप्ट
- 1:20:13और यह माइंडसेट। ठीक है? तो आई होप आपको
- 1:20:15मजा आया होगा। मिलते हैं ऐसी किसी वीडियो
- 1:20:16में। तब तक के लिए गुड बाय। इस वीडियो में
- 1:20:18देखने वाले हैं इनकैप्सुलेशन। लास्ट
- 1:20:19वीडियो में हमने समझा कि ऊप्स कांसेप्ट
- 1:20:21क्या होता है? ऑब्जेक्ट ओरिएंटेड का क्या
- 1:20:22मतलब होता है? क्लास क्या होता है? ठीक
- 1:20:24है? क्लास हमने बनाया क्लास का इंस्टेंस
- 1:20:25ऑब्जेक्ट कैसे बनाते हैं? क्या होता है
- 1:20:27ऑब्जेक्ट? ये सारी चीजें हमने समझी। अब
- 1:20:29समझते हैं ऊप्स का सबसे पहला पिलर। ठीक
- 1:20:32है? ऊप्स के फोर पिलर्स होते हैं।
- 1:20:33इनकैप्सुलेशन, इनहेरिटेंस, पॉलीमॉर्फिज्म।
- 1:20:37उसके बाद एब्स्ट्रैक्शन। ठीक है? और ये
- 1:20:39फोर पिलर्स आपके एक बुकिश लैंग्वेज की तरह
- 1:20:42होते हैं। है ना? मैं इन फोर पिलर्स को
- 1:20:44कहता हूं कि यह फोर पिलर्स नहीं होते।
- 1:20:46आपके सिर्फ एक ही पिलर होता है्स का जिसको
- 1:20:48मैं एब्स्ट्रैक्शन बोलता हूं। ठीक है?
- 1:20:49धीरे धीरे धीरे से जब हम एब्स्ट्रैक्शन को
- 1:20:51समझ जाएंगे तो मैं उस एक पिलर को एंड में
- 1:20:53बताऊंगा कि क्या मतलब है एब्स्ट्रैक्ट सब
- 1:20:55कुछ एब्स्ट्रैक्शन होता है। इस चीज को मैं
- 1:20:56समझाऊंगा। अभी के लिए हम बुकिश तरीके से
- 1:20:58पढ़ते हैं कि चार पिलर होते हैं। उसमें से
- 1:21:00पहला पिलर हमारा इनकैप्सुलेशन होता है।
- 1:21:02ठीक है? इनकैप्सुलेशन अगर मैं सोचूं एक
- 1:21:05बार तो इनकैप्सुलेट करना ऐसा ही कुछ तो
- 1:21:08लास्ट कुछ वीडियोस में भी हम समझ रहे थे
- 1:21:10शायद समझते हैं। फॉर्मल डेफिनेशन की बात
- 1:21:13करूं तो इनकैप्सुलेशन बाइंड्स डेटा। ठीक
- 1:21:15है? डेटा क्या है? आपके एट्रिब्यूट्स।
- 1:21:18एट्रिब्यूट्स किसके? क्लास के
- 1:21:19एट्रिब्यूट्स। मेथड। मेथड क्या है? आपका
- 1:21:21बिहेवियर। बिहेवियर क्या है? फंक्शनंस।
- 1:21:24मेथड्स। तो इनकैप्चुरेशन बाइंड करता है
- 1:21:27डेटा और मेथड्स को इन ए क्लास। इसका मतलब
- 1:21:30आप जो क्लास का स्ट्रक्चर बना रहे थे, ठीक
- 1:21:32है? उसके अंदर एट्रिब्यूट्स सजेस्ट कर रहे
- 1:21:35थे। ठीक है? उसके बाद में मेथड्स डाल रहे
- 1:21:36थे। उनको आपने उठा के क्लास बना दिया। ठीक
- 1:21:39है? तो क्लास क्या है? क्लास खुद एक
- 1:21:41इनकैप्सुलेशन है। राइट? ठीक है? तो यानी
- 1:21:45कि डेटा और मेंबर को इनकैप्सुलेट करना। इन
- 1:21:47उनको एक एक कंटेनर में बंद करके रखना। ठीक
- 1:21:50है? उसी को ही इनकैप्सुलेशन कहते हैं। ठीक
- 1:21:52है? ये होती है एक सिंपल सी डेफिनेशन। ठीक
- 1:21:54है? जैसे कि एक कैप्सूल होती है। ठीक है?
- 1:21:56जैसे कि कैप्सूल होती है। इट कंबाइन एंड
- 1:21:58बाइंड्स देम टुगेदर। इन है ना? एक कैप्सूल
- 1:22:02कंबाइन करके बाइंड करके साथ में रखती है
- 1:22:04उसको। राइट? ठीक है? सेम एग्जांपल लेता
- 1:22:06हूं। अगर एक कैप्सूल को आप ओपन करोगे उसके
- 1:22:08अंदर बहुत सारे बहुत सारे छोटे-छोटे
- 1:22:10छोटे-छोटे स्फीयर्स होंगे। उनको अगर आप
- 1:22:12फेंक दोगे तो उन बहुत सारे 100 ऑफ स्फीयर
- 1:22:16का आपस में मैं बोलूंगा उनका कोई काम नहीं
- 1:22:18है। राइट? अब वो उनका कोई सिग्निफिकेंस
- 1:22:21नहीं है। बट जब उनके 100 ऑफ स्फीयर्स को
- 1:22:23उठाकर मैं एक कैप्सूल के अंदर डाल देता
- 1:22:25हूं। फिर बोलता हूं तब मैं बोलता हूं
- 1:22:27अच्छा ओके यह एंटीफंगल कैप्सूल है। ओके यह
- 1:22:30एंटी वायरल कैप्सूल है। राइट? यानी कि
- 1:22:33सारे जितने भी स्फीयर्स हैं उनका अपने
- 1:22:37इटसेल्फ यानी कि खुद का कोई भी वजूद नहीं
- 1:22:39है। कोई सिग्निफिकेंस नहीं है। बट जब मैं
- 1:22:40उन सबको मिला देता हूं और एक कैप्सूल बना
- 1:22:42देता हूं तो उनका एक मीनिंग निकलता है कि
- 1:22:45हां ये एंटीफंगल कैप्सूल है। राइट?
- 1:22:47सिमिलरली सिमिलरली क्लास के अंदर जितने भी
- 1:22:50उसके डेटा मेंबर्स होते हैं, डेटा मेंबर्स
- 1:22:53क्या है? जितने भी एट्रिब्यूट्स होते हैं
- 1:22:54उनको मैं अलग-अलग अलग-अलग रख दूं तो उनका
- 1:22:56कोई सिग्निफिकेंस नहीं है। जब उनको साथ
- 1:22:58में ले आता हूं तो वो मिलकर एक पर्टिकुलर
- 1:23:01एंटिटी बन जाते हैं। एक पर्टिकुलर क्लास
- 1:23:03बन जाते हैं। ठीक है? फॉर एग्जांपल अगर आप
- 1:23:05आईडी अलग रख रख दो, नंबर ऑफ़ सब्जेक्ट अलग
- 1:23:08रख दो, एज अलग रख दो, नेम अलग रख दो।
- 1:23:11अलग-अलग उनका कोई खास सिग्निफिकेंस नहीं
- 1:23:12है। पर जब मैं उनको सबको साथ में ले आता
- 1:23:14हूं, एक बंडल में बंद करता हूं, एक
- 1:23:16कैप्सूल में डाल देता हूं, तो मैं बोलता
- 1:23:17हूं अच्छा, ओके। ये एक स्टूडेंट क्लास है।
- 1:23:21ठीक है? तो इसी को कहते हैं इनकैप्सुलेशन
- 1:23:23कि वो सारे डेटा मेंबर्स को टुगेदर बाइंड
- 1:23:25करता है। फिर उन टुगेदर बाइंड किए हुए
- 1:23:28डेटा को मैं बोलता हूं एक सिंगल यूनिट कि
- 1:23:30एक सिंगल यूनिट है। ये स्टूडेंट है। राइट?
- 1:23:33अब इनकैप्सुलेशन का फंक्शन क्या होता है?
- 1:23:35ठीक है? वो एक सिक्योरिटी लेयर प्रोवाइड
- 1:23:38करता है। ठीक है? अब ये सिक्योरिटी लेयर
- 1:23:39कैसे प्रोवाइड करता है? इसको थोड़ी देर
- 1:23:41में समझेंगे। उससे पहले देखते हैं। वो
- 1:23:43क्या करता है? हाइड करता है इंटरनल
- 1:23:45इंप्लीमेंटेशन ऑफ़ कोड एंड डेटा इन क्लास।
- 1:23:49ठीक है? यानी कि इंटरनल इंप्लीमेंटेशन
- 1:23:50कैसे लिखी हुई है इस चीज को हाइड करता है।
- 1:23:52ठीक है? और एक्सपोज करता है ओनली नेसेसरी
- 1:23:56इनफेशन टू द आउटसाइड वर्ल्ड। ठीक है? ये
- 1:23:58सबसे इंपॉर्टेंट चीज है। ठीक है?
- 1:23:59इनकैप्सुलेशन की यानी कि सिंपल सी बात है।
- 1:24:02कुछ सिक्योरिटी लेयर टाइप प्रोवाइड करता
- 1:24:03है। ओके? और क्या करता है कि इंटरन इंटरनल
- 1:24:06इंप्लीमेंटेशन डिटेल जो है कोड के अंदर
- 1:24:08क्लास के अंदर क्या लिखी हुई है। ठीक है?
- 1:24:10उसको हाइड करता है और साथ ही साथ नेसेसरी
- 1:24:13इनेशन को ही बस एक्सपोज करता है आपके
- 1:24:16एक्सटर्नल वर्ल्ड में। ठीक है? तो मैं
- 1:24:18यहां बोल सकता हूं एज वी आर हाइडिंग डेटा
- 1:24:20फ्रॉम आउटर क्लासेस और द वर्ल्ड यानी
- 1:24:23स्टूडेंट क्लास के अंदर का डेटा मैं आउटर
- 1:24:26आउटर वर्ल्ड से यानी मेन फंक्शन से या फिर
- 1:24:29दूसरी क्लासेस से हाइड कर रहा हूं। तो
- 1:24:30इनकैप्सुलेशन को हम डेटा हाइडिंग भी कहते
- 1:24:32हैं। ठीक है भैया ये कुछ समझ नहीं आया
- 1:24:34हमें। एग्जांपल समझाओ। चलो एक सिंपल सा
- 1:24:37एग्जांपल लेते हैं। एक सिंपल सा एग्जांपल
- 1:24:39लेते हैं कि एक बड़ी सी क्लास बनती थी
- 1:24:40मेरी। है ना? मैंने ऐसी क्लास बनाई थी।
- 1:24:42इसका नाम हमने क्या दिया था? हमने
- 1:24:44स्टूडेंट नाम दिया था। अभी तक हमने
- 1:24:46स्टूडेंट क्लास पढ़ी है। राइट? ठीक है?
- 1:24:48इसके अंदर दो चीजें थी। दो चीजें थी। सबसे
- 1:24:51पहला उसके अंदर बहुत सारे एट्रिब्यूट्स थे
- 1:24:53उसके। राइट? उसकी आईडी थी, उसका एज था।
- 1:24:56ठीक है? उसके नंबर ऑफ सब्जेक्ट्स थे। उसका
- 1:24:59नेम था। ठीक है? उसका बिहेवियर था कि वो
- 1:25:02स्टडी करता है। ठीक है? वो बंक करता है।
- 1:25:05ठीक है? और वो स्लीप करता है।
- 1:25:08ठीक है? यह हमने कुछ अभी तक हमने स्टूडेंट
- 1:25:11क्लास बनाई थी। स्टूडेंट ब्लूप्रिंट बनाया
- 1:25:14था। राइट? अब इनकैप्सुलेशन कहता है कि वो
- 1:25:17सिक्योरिटी लेयर प्रोवाइड कर रहा है। नहीं
- 1:25:18समझ आया। ठीक है? वो क्या कर रहा है?
- 1:25:20इंटरनल इंप्लीमेंटेशन ऑफ कोड को हाइड कर
- 1:25:23रहा है और डेटा को हाइड कर रहा है। ओके?
- 1:25:26तो इनकैप्सुलेशन का मतलब होता है कि मैं
- 1:25:27सिर्फ एक्सपोज करना चाहता हूं वो वाली
- 1:25:29इनेशन वो वाली इनेशन जो कि सिर्फ और सिर्फ
- 1:25:32मैं आउटर वर्ल्ड को दिखाना चाहता हूं। ठीक
- 1:25:34है? अब सपोज़ करते हैं कि आपका स्टूडेंट
- 1:25:37आता है और स्टूडेंट बोलता है कि देखो मैं
- 1:25:40ना हर स्टूडेंट की ना एक गर्लफ्रेंड भी
- 1:25:42है। ठीक है? एक गर्लफ्रेंड भी है, जीएफ भी
- 1:25:44है। ठीक है? और यह स्टूडेंट अपनी जीएफ का
- 1:25:49नाम दूसरी क्लासेस को, टीचर को, ठीक है?
- 1:25:52अपने पेरेंट क्लास को, ठीक है? या फिर
- 1:25:55अपने सिबलिंग्स को नहीं बताना चाहता। ठीक
- 1:25:58है? ओके। जीएफ नहीं बताना चाहता।
- 1:26:01और यह क्या करता है? यह जीएफ के साथ
- 1:26:02चैटिंग भी करता है। ठीक है? इसका बिहेवियर
- 1:26:05है। यह फंक्शन है। जीएफ के साथ वह चैटिंग
- 1:26:06भी करता है। ठीक है? तो, अब ध्यान से
- 1:26:10देखो। इनकैप्सुलेशन क्या कह रही है? आई
- 1:26:12वांट कि मैं नेसेसरी इंफॉर्मेशन आउटसाइड
- 1:26:14वर्ल्ड को दूं बस सिर्फ नेसेसरी
- 1:26:16इंफॉर्मेशन। तो मैंने क्या कहा कि देखो
- 1:26:20आईडी हाइड नहीं करना चाहता। कोई बात नहीं
- 1:26:23बाहर वाले वर्ल्ड को दिखे पता होना चाहिए।
- 1:26:25ठीक है? स्कूल में आपको आईडी तो मिली मिल
- 1:26:27ही जाती है ना सबकी रोल नंबर। एज कोई बात
- 1:26:30नहीं। ठीक है? ठीक है। ऐज भी हटा देते
- 1:26:32हैं। स्टूडेंट कहता है कि भाई ऐज भी ना
- 1:26:34मेरा एक पर्सनल इनेशन है। मैं नहीं चाहता
- 1:26:37उसको एक्सपोज़ करना। हां। नो नो सब्जेक्ट
- 1:26:40देख लो। मेरा नाम पूछ लो बस। तो इसका मतलब
- 1:26:42उसकी प्राइवेट प्राइवेट डिटेल्स क्या-क्या
- 1:26:45बोली उसने? उसने बोला ऐज जो है वो
- 1:26:46प्राइवेट है। ठीक है? मैं एक्सपोज नहीं कर
- 1:26:50करना चाहता आउटसाइड वर्ल्ड। सिमिलरली जीएफ
- 1:26:53यह एक प्राइवेट है।
- 1:26:56ठीक है? अब ध्यान से देखो जो कि ग्रीन कलर
- 1:26:58में मैंने बोला यह है पब्लिक।
- 1:27:01हमारा इनकैप्सुलेशन का क्या फंक्शन है?
- 1:27:03उसने बोला कि हम चाहते हैं ओनली नेसेसरी
- 1:27:05इनेशन को दिखाना आउटसाइड वर्ल्ड को। तो
- 1:27:08मैंने कहा कि आउटसाइड वर्ल्ड ये आपका
- 1:27:10आउटसाइड वर्ल्ड क्या था हमारा कोड के अंदर
- 1:27:12मेन मेन फंक्शन मेन फंक्शन या फिर कोई और
- 1:27:15क्लासेस कोई और क्लासेस टीचर क्लास हो गई
- 1:27:18ठीक है बाकी क्लासेस हो गई तो आपका जो
- 1:27:21स्टूडेंट है वो सिर्फ आईडी नंबर ऑफ
- 1:27:24सब्जेक्ट और नेम इनको दिखाना चाहता है
- 1:27:26आउटसाइड वर्ल्ड को वो अपनी ऐज को नहीं
- 1:27:28दिखाना चाहता वो एक प्राइवेट मेंबर है
- 1:27:30प्राइवेट एट्रिब्यूट है उसको नहीं दिखाना
- 1:27:32चाहता उसकी ऐज क्या है है ना ऐसी
- 1:27:34गर्लफ्रेंड उसकी प्राइवेट है वो नहीं
- 1:27:36दिखाना चाहता मेरी गर्लफ्रेंड का नाम क्या
- 1:27:37है? नहीं बताना चाहता वो। ठीक है?
- 1:27:39सिमिलरली उसके कुछ प्राइवेट बिहेवियर भी
- 1:27:42होंगे। राइट? प्राइवेट बिहेवियर क्या है?
- 1:27:43जैसे इसको मैं बोल सकता हूं प्राइवेट
- 1:27:44बिहेवियर है। प्राइवेट बिहेवियर का मतलब
- 1:27:47प्राइवेट बिहेवियर का मतलब कि गर्लफ्रेंड
- 1:27:49से चैटिंग करता है। ये किसी को बताना नहीं
- 1:27:50चाहता वो। ठीक है? तो ये आपका सिंपली क्या
- 1:27:53हो गया? आपने क्या किया? ओनली नेसेसरी
- 1:27:55इनफेशन। क्या-क्या नेसेसरी थी? उसने बोला
- 1:27:57आईडी नेसेसरी है। आईडी जान लो मेरी। कोई
- 1:27:59दिक्कत नहीं है। आईडी एक पब्लिक इनफेशन
- 1:28:00है। भाई आईडी एक पब्लिक इनफेशन है। जान
- 1:28:03ले। ठीक है? अब पब्लिक इनफेशन का मतलब
- 1:28:04क्या है? यह आप वैसे कोड करते हुए
- 1:28:06समझेंगे। बट अगर सिंपल सी बात बताऊं तो
- 1:28:08अगर मैंने एक स्टूडेंट ऑब्जेक्ट बनाया है
- 1:28:10ए नाम का स्टूडेंट ऑब्जेक्ट बनाया है तो
- 1:28:12अगर मैं यहां A डॉट आईडी एक्सेस करता हूं
- 1:28:15तो वो तो हो जाएगा बट A डॉट गर्लफ्रेंड
- 1:28:18एक्सेस नहीं होगा सिंपल सा ये मतलब है तो
- 1:28:21ध्यान से देखो क्या मैं एक्सपोज़ कर पा रहा
- 1:28:24हूं ओनली इनेशन दैट आई वांट टू शेयर टू द
- 1:28:27एक्सटर्नल वर्ड एक्सटर्नल वर्ड क्या है
- 1:28:28मेन मेन के अंदर क्या-क्या शेयर हो रहा है
- 1:28:30भाई आपने ए स्टूडेंट बनाया ठीक है सपोज़
- 1:28:32राम नाम का स्टूडेंट बनाया और आपने उसकी
- 1:28:35आईडी को तो एक्सेस कर सकते हो। aid तो
- 1:28:37प्रिंट कर लोगे। A.D को तो एक्सेस कर
- 1:28:39पाओगे मेन फंक्शन में। बट आप A.gf को नहीं
- 1:28:41कर पाओगे। वो बोल देगा इनसेसिबल। पता नहीं
- 1:28:44प्राइवेट है। नहीं समझ आ रहा। ठीक है? तो
- 1:28:47इसका मतलब मैंने क्या किया? एक्सपोज की
- 1:28:49सिर्फ इनेशन जो मैं दिखाना चाहता हूं। ठीक
- 1:28:51है? जो मैं नहीं दिखाना चाहता उसको मैंने
- 1:28:53यहीं रख लिया। ठीक है? तो इसी को कहते हैं
- 1:28:55इंकप्सुलेट कर दिया मैंने। इनकैप्सुलेशन
- 1:28:57एक सिक्योरिटी लेयर प्रोवाइड करी। ठीक है?
- 1:28:59और कैसे करते हैं? पब्लिक क्या होता है?
- 1:29:01प्राइवेट कैसे करें? कैसे भैया आपने जब
- 1:29:03बनाई थी क्लास उसके अंदर तो सब कुछ ही
- 1:29:05एक्सेस हो रहा था। कैसे मैं रोक सकता हूं
- 1:29:07कि कुछ कोई कुछ चीजें दिखे कुछ चीज़ ना
- 1:29:09दिखे वो हम समझेंगे आराम से। है ना? वो हम
- 1:29:12समझ समझेंगे आराम से। अभी हम सिर्फ आईडिया
- 1:29:14ले रहे हैं। आईडिया ले रहे हैं। ठीक है?
- 1:29:15दूसरा क्या था? आई वांट टू हाइड
- 1:29:17इंप्लीमेंटेशन
- 1:29:19इंटरनल इंप्लीमेंटेशन ऑफ़ कोड एंड डेटा। अब
- 1:29:21ध्यान से देखो। ध्यान से देखो। अगर मैं
- 1:29:23करता हूं a डॉट स्लीप।
- 1:29:28ठीक है? या फिर या फिर ऐसे मान लेते हैं।
- 1:29:31ऐसे मान लेते हैं कि आपकी कोई पेरेंट
- 1:29:34क्लास है। ठीक है? पेरेंट है।
- 1:29:38ठीक है? वो अपने बच्चे को बोल रहा है
- 1:29:40स्टूडेंट अपने बच्चे को है। ठीक है? या
- 1:29:42फिर टीचर मान लेते हैं। टीचर टीचर ले लेते
- 1:29:45हैं। चलो टीचर जो है वो एक स्टूडेंट को कह
- 1:29:48रहा है कि ना तू थका हुआ है तू जाके सो
- 1:29:50जा। तो टीचर बोल सकता है ए डॉट स्लीप कि
- 1:29:54तू जा और सो जा। ठीक है? तो टीचर ने बोल
- 1:29:56दिया कि आप स्लीप कर सकते हो। राइट? बट
- 1:29:59क्या टीचर को यह जानने की जरूरत है कि
- 1:30:01बच्चा सो कैसे रहा है? ठीक है? ए डॉट
- 1:30:04स्लीप के अंदर क्या लिखा है? क्या टीचर को
- 1:30:06यह जानने की जरूरत है? ठीक है? नहीं। तो
- 1:30:08यही देखो हमने एक लेयरिंग कर दी। हमने
- 1:30:10हिडन कर दी इनफेशन। देखो वो ए डॉट लेयर तो
- 1:30:12कॉल कर सकता है। वो बोल सकता है स्टूडेंट
- 1:30:14ए आप जाके सो जाओ। बट वो कैसे सो रहा है?
- 1:30:16उसको कोई मतलब नहीं है। क्या टीचर को
- 1:30:18जानने की जरूरत है? नहीं जानने की जरूरत
- 1:30:20है। तो हमने क्या किया? इंटरनल
- 1:30:21इंप्लीमेंटेशन जो थी आपकी कोड की आपने किस
- 1:30:24तरीके से चीजें लिखी हुई हैं। उन चीज को
- 1:30:26हाइड कर दी। ठीक है? ठीक है? तो जिन चीजों
- 1:30:27को मैं दिखाना चाहता हूं उनको मैं दिखा
- 1:30:30रहा हूं। जिनको मैं हाइड करना चाहता हूं
- 1:30:31उनको मैं हाइड कर रहा हूं। इन शॉर्ट मैं
- 1:30:34डेटा की हाइडिंग कर रहा हूं। ठीक है? अब
- 1:30:38सपोज़ आपका मेन क्या कहता है? मेन कहता है
- 1:30:40कि भ ए आप जाके स्टडी कर लो।
- 1:30:45ठीक है? अब ध्यान से देखो। मेन मेन में
- 1:30:47यानी आउटसाइड वर्ल्ड मेन आउटसाइड वर्ल्ड
- 1:30:49है हमारे यहां। उसने a डॉट स्टडी बोल
- 1:30:51दिया। ठीक है? अब स्टडी वो करता कैसे है?
- 1:30:54वो 9 टू 5 बैठता है। ठीक है? क्या है? वो
- 1:30:56सुबह स्टडी करता है, शाम को स्टडी करता
- 1:30:58है। दैट डजंट मैटर। ठीक है? वो मैटर नहीं
- 1:31:00करता। उसने बस बोल दिया कि जाके आप सो
- 1:31:02जाओ। अब हो सकता है हो सकता है आपका जो
- 1:31:04स्टडी वाला फंक्शन है, ठीक है? वो इस
- 1:31:07तरीके से इंप्लीमेंटेड हो कि अभी ऐसे
- 1:31:09इंप्लीमेंटेड हो कि वो सुबह पढ़ता है। ठीक
- 1:31:13है? सुबह पढ़ता है। ऐसे इंप्लीमेंटेड हो।
- 1:31:15तो आपने a डॉट स्टडी करा। आपने ये जान
- 1:31:18लिया मेन को मेन को बस इतनी टेंशन लेनी है
- 1:31:20कि मैंने बोल दिया कि ए जाके स्टडी कर लो।
- 1:31:23अब वो कैसे कर रहा है उसको जानने की जरूरत
- 1:31:24नहीं है। ठीक है? उसको जानने की जरूरत
- 1:31:27नहीं है। जैसे आपके कोई टीचर आपको बोल
- 1:31:30देते हैं कॉल करके कि जा चलो ठीक है कल
- 1:31:32एग्जाम है तो आप जाके अभी पढ़ लो। ठीक है?
- 1:31:34अब टीचर फिर फोन काट देता है। क्या उसको
- 1:31:36जरूरत होती है कि ये जानने की अब वो पढ़
- 1:31:37कैसे रहा है? राइट? नहीं होता। वो जाके
- 1:31:39पढ़ रहा है। अपने हिसाब से पढ़ रहा है।
- 1:31:40ठीक है? कुछ टाइम बाद हो सकता है बच्चा
- 1:31:42सुबह ना पढ़ता हो। अब वो शाम को पढ़ता हो।
- 1:31:46क्या टीचर को इससे फर्क पड़ता है? क्या
- 1:31:48मेन को उससे फर्क पड़ता है? नहीं। तो इसका
- 1:31:50मतलब कि आपके जो इंटरनल कोड में क्या
- 1:31:52इंप्लीमेंटेशन हो रखी है? ठीक है? डेटा
- 1:31:54कैसे लिखे हुए हैं? ठीक है? आपकी स्टूडेंट
- 1:31:56क्लास बनी कैसे हुई है? ठीक है? उसके अंदर
- 1:31:58बंक कैसे काम करता है? स्लीप कैसे काम
- 1:32:00करता है? वो इंप्लीमेंटेशन जानने की कोई
- 1:32:03जरूरत नहीं है मुझे। मैं बस बोल देता हूं।
- 1:32:05ए जाके सो जाओ। ए जाके बंद कर लो। ठीक है?
- 1:32:08सेकंड एस्पेक्ट क्या होता है कि आई वांट
- 1:32:10टू शेयर ओनली नेसेसरी इनफेशन। राइट? ध्यान
- 1:32:13से देखो। आप स्टडी कर रहे हो। ठीक है?
- 1:32:15आपने ए डॉट स्टडी आप कॉल करने की कॉल करने
- 1:32:20की कैपेबिलिटी तो दे रहे हो मेन को कि आप
- 1:32:22कॉल कर लो a डॉट स्टडी उसका बिहेवियर कॉल
- 1:32:24कर सकते हो पर स्टडी कैसे करना है यह नहीं
- 1:32:26जानने दे रहा मैं ठीक है इन डिटेल को हाइड
- 1:32:28कर रहा हूं आई एम ओनली एक्सपोजिंग द इनेशन
- 1:32:31आई वांट टू एक्सपोज ठीक है तो इसीलिए इसको
- 1:32:33हम कहते हैं इनकैप्सुलेशन कि इसके अंदर जो
- 1:32:36चीज मैं दिखाना चाहता हूं वो दिखती है जो
- 1:32:38नहीं दिखाना चाहता हूं वो नहीं दिखती है
- 1:32:39ठीक है ओके गर्लफ्रेंड की चैटिंग है वो भी
- 1:32:42प्राइवेट है तो अगर अब यहां पे मैं ए डॉट
- 1:32:44जीएफ चैटिंग कॉल करूंगा जीf चैटिंग कॉल
- 1:32:48करूंगा तो यह नहीं नहीं होगा। बोल देगा
- 1:32:49इनसेसिबल नहीं हो पाएगा कॉल। ये सब
- 1:32:51इनएक्शन हम देखेंगे अपने कोड के अंदर
- 1:32:53जाके। ठीक है? अब ध्यान से देखो। यह रियल
- 1:32:55लाइफ से कैसे मैच करता है? ऐसे ही मैच
- 1:32:57करता है। एक स्टूडेंट होगा या एक पर्सन
- 1:32:58है। सपोज पर्सन क्लास है। वो पर्सन अपने अ
- 1:33:02अपने फियंसे का नाम वाइफ का नाम नहीं
- 1:33:04बताना चाहता। उस पर्सन को क्या-क्या
- 1:33:06मेडिकल बीमारियां है वो नहीं दिखाना
- 1:33:08चाहता। ठीक है? बट पर्सन को बीमारियां तो
- 1:33:10है। तो आप जब क्लास बनाओगे उसके अंदर उसको
- 1:33:13क्या बीमारी है? वह ऑब्जेक्ट तो बना ही
- 1:33:15सकते हो। ठीक है? सपोज हम एक एरे बना लेते
- 1:33:17हैं। एरे ऑफ स्ट्रिंग्स बना लेते हैं।
- 1:33:19उसके अंदर सारी बीमारियां लिखी हुई हैं।
- 1:33:21बट वो पर्सन ना किसी को दिखाना नहीं चाहता
- 1:33:23वो बीमारियां। तो कोई भी आउटसाइड वर्ल्ड
- 1:33:25आउटसाइड वर्ल्ड उसको जाकर कॉल नहीं कर
- 1:33:28सकता। ठीक है? उस फंक्शन को कॉल नहीं कर
- 1:33:30सकता। जैसे होता है ना कि आप आप कोई पर्सन
- 1:33:33है रियल वर्ल्ड में भी वो अपनी मेडिकल
- 1:33:34इनफेशन नहीं दिखाना चाहता। अपनी
- 1:33:36गर्लफ्रेंड का नाम नहीं बताना चाहता। ठीक
- 1:33:37है? बट यानी एक्सटर्नल वर्ल्ड से वो छुपा
- 1:33:39रहा है हम चीजों को। तो सेम काम हम सेम
- 1:33:41काम क्योंकि हम ऊप्स के अंदर रियल वर्ल्ड
- 1:33:43चीजों को ही हम इंप्लीमेंट कर रहे होते
- 1:33:45हैं। सेम काम इनकैप्सुलेशन के द्वारा हम
- 1:33:47यहां भी करते हैं कि ओनली हम नेसेसरी
- 1:33:50इनफेशन बाहर दिखा रहे हैं। बाकी चीज नहीं
- 1:33:51दिखा रहे हैं। ठीक है? ओके? तो सिंपल सी
- 1:33:55बात है। एज़ वी आर हाइडिंग डेटा फ्रॉम
- 1:33:57आउटसाइड वर्ल्ड और आउटर क्लासेस। बाकी
- 1:34:00क्लासेस के लिए, टीचर क्लास के लिए, पर्सन
- 1:34:02क्लास के लिए चीजें हम हाइड कर रहे हैं।
- 1:34:03तो इनकैप्चुलेशन आल्सो नोन ऐज़ डेटा
- 1:34:05हाइडिंग। अब यहां पर मेन देखते हैं। द मेन
- 1:34:07गोल इज टू इंप्लीमेंट क्लासेस इन अ वे दैट
- 1:34:10प्रोवाइड अन ऑथराइज एसेस। तो देखो अगर
- 1:34:13टीचर आए टीचर बोले a डॉट जीएफ। ठीक है? अब
- 1:34:17ध्यान से देखो स्टूडेंट के प्राइवेट इनेशन
- 1:34:20है तो स्टूडेंट के लिए अगर जीएफ का नाम
- 1:34:22टीचर को पता चल जाता है तो वो एक
- 1:34:24अनऑथराइज्ड एसएस हो गया। है ना? तो मेरा
- 1:34:26मेन गोल है कि मैं क्लासेस को कुछ इस
- 1:34:28प्रकार इंप्लीमेंट करना चाहता हूं कि मैं
- 1:34:30सिर्फ पब्लिक इनेशन तो बाहर दिखाना चाहता
- 1:34:31हूं जो मैं दिखाना चाहता हूं। बाकी सारी
- 1:34:33इनफेशन प्राइवेट रखना चाहता हूं। मैं नहीं
- 1:34:35चाहता उनमें कोई अनऑथराइज्ड एक्सेस हो। आई
- 1:34:37वांट कि ऑथराइज्ड एक्सेस हो। ठीक है? और
- 1:34:41अगर किसी अगर आउटसाइड वर्ल्ड से आपने
- 1:34:43आउटसाइड वर्ल्ड गए आपने a डॉट आईडी अगर
- 1:34:46बच्चे की आईडी सपोज़
- 1:34:49अभी वन थी। आपने बोला a डॉट आईडी = 53
- 1:34:54ठीक है? तो मैं इस टाइप का भी एक्सेस नहीं
- 1:34:55चाहता। इन सबको भी रोक सकते हैं हम। ठीक
- 1:34:57है? वो भी समझेंगे हम कैसे कर सकते हैं।
- 1:34:59ठीक है? और मॉडिफाई द ओरिजिनल कंटेंट ऑफ़
- 1:35:01क्लास बाय इट्स इंस्टेंस। ठीक है? अब टीचर
- 1:35:04जो है टीचर जो है ओरिजिनल कंटेंट को
- 1:35:06मॉडिफाई ना करे। टीचर जो है वो जाकर सीधा
- 1:35:10आईडी मॉडिफाई ना कर दे। नंबर सब्जेक्ट
- 1:35:11मॉडिफाई ना कर दे। नेम मॉडिफाई ना कर दे।
- 1:35:13ठीक है? इस सब चीजों से भी बचना चाहते
- 1:35:15हैं। ठीक है? तो मेरा मेन गोल है कि मैं
- 1:35:19अनऑथराइज एक्सेस को बनाना बचाना चाहता
- 1:35:21हूं। ओरिजिनल कंटेंट मेरा अनअथराइज्ड
- 1:35:23तरीके से ऐसे ही कोई भी आकर गर्लफ्रेंड का
- 1:35:25नाम चेंज ना कर दे। है ना? कोई ऐसा काम ना
- 1:35:27करे। द अंडरलाइन एल्गोरिदम ऑफ़ वन क्लास
- 1:35:29नीड्स नॉट टू बी नोन टू अदर क्लास। ठीक
- 1:35:31है? द अंडरलाइन एल्गोरिदम ऑफ़ वन क्लास नीड
- 1:35:35नॉट टू बी नोन टू अनदर क्लास। द टू
- 1:35:38क्लासेस कैन स्टिल कम्युनिकेट दो। ठीक है?
- 1:35:41यानी कि दो अलग-अलग क्लासेस हैं। उन वो
- 1:35:43कैसे इंप्लीमेंटेड है ये ना पता हो। बट वो
- 1:35:45आपस में इंटैक्ट कर पाएं। जैसे टीचर ने ही
- 1:35:48तो कॉल किया था ए डॉट स्लीप। बट क्या टीचर
- 1:35:50को पता था स्लीप मेथड कैसे इंप्लीमेंटेड
- 1:35:51है? क्या टीचर को यह पता है कि आपके जो
- 1:35:54स्टूडेंट क्लास जो है उसके अंदर क्या-क्या
- 1:35:57प्राइवेट मेंबर्स हैं? नहीं पता उसको। ठीक
- 1:35:59है? बट क्या स्टूडेंट और टीचर आप हमसे
- 1:36:02कम्युनिकेट कर रहे हैं? बिल्कुल कर रहे
- 1:36:03हैं। जैसे रियल लाइफ में होता है। आपके
- 1:36:05टीचर होते हैं कुछ। ठीक है? और आप
- 1:36:07स्टूडेंट हो। ठीक है? आप आप डेली जाते हो।
- 1:36:10टीचर आपको जानता है। आपका आईडी जानता है।
- 1:36:12आपका नाम जानता है। ठीक है? और आपके कितने
- 1:36:14सब्जेक्ट हो वो जानता है बस। ठीक है? आपकी
- 1:36:16पर्सनल इनफेशन हो सकता है स्टूडेंट की
- 1:36:18पर्सनल इनफेशन हो। उसकी मेडिकल प्रॉब्लम्स
- 1:36:19कितनी है? स्टूडेंट की पर्सनल कोई पर्सनल
- 1:36:22बहुत अल्ट्रा पर्सनल इंफॉर्मेशन हो। ठीक
- 1:36:24है? क्या वो टीचर जानता है? नहीं जानता।
- 1:36:26क्या उसको जानने की जरूरत है? नहीं जरूरत
- 1:36:27है। ठीक है? तो यानी कि टीचर उसकी
- 1:36:29अनऑथोराइज्ड एक्सेस नहीं कर सकता उसके
- 1:36:32प्राइवेट प्राइवेट इंफॉर्मेशन को। ठीक है?
- 1:36:35बट स्टिल स्टूडेंट और टीचर आपस में बात कर
- 1:36:37रहे हैं। कम्युनिकेशन चालू है। टीचर
- 1:36:39स्टूडेंट को पढ़ा रहा है। स्टूडेंट टीचर
- 1:36:41से पढ़ रहा है। राइट? ये काम तो चल रहा है
- 1:36:43मेरा। कम्युनिकेशन चल रही है। बट उनको एक
- 1:36:45दूसरे की इंप्लीमेंटेशन नहीं पता। इंटरनल
- 1:36:47कैसे क्या हो रहा है ये नहीं पता। सिर्फ
- 1:36:48पब्लिक इनफेशन पता है जो दिखाना चाहता
- 1:36:50हूं। इसी को मैं कहता हूं इनकैप्सुलेशन।
- 1:36:52ठीक है? अब इसको कर कैसे सकते हैं? भैया
- 1:36:55प्राइवेट कैसे कर सकते हैं? मैं डेटा अभी
- 1:36:57आपने जो क्लास बनाई थी उसमें सब कुछ तो
- 1:36:58पब्लिक था। ठीक है? देखो पब्लिक कीवर्ड
- 1:37:01अगर आप यूज़ करते हो ठीक है? ये jवा C++
- 1:37:03दोनों में होता है। पब्लिक कीवर्ड अगर आप
- 1:37:05यूज़ करते हो तो उसका मतलब जिस भी जिस भी
- 1:37:09एट्रिब्यूट को जिस भी डेटा मेंबर को
- 1:37:11एट्रिब्यूट डेटा मेंबर ही होता है। राइट?
- 1:37:13जिस भी मेथड को जिस भी बिहेवियर को आपने
- 1:37:16पब्लिक लिख दिया, तो बाहर की दुनिया उसको
- 1:37:18कॉल कर सकती है। उसको यूज़ कर सकती है। ठीक
- 1:37:20है? मेंबर डिक्लेयर्ड ऐज़ पब्लिक एक्सेसबल
- 1:37:22फ्रॉम एनी पार्ट ऑफ़ द कोड। दे कैन बी
- 1:37:24एक्सेस बाय ऑब्जेक्ट ऑफ क्लास एंड
- 1:37:25एक्सटर्नल कोड। ठीक है? डन है? उस क्लास
- 1:37:28के ऑब्जेक्ट से भी कॉल हो सकता है,
- 1:37:29एक्सटर्नल कोड से भी हो सकता है। ठीक है?
- 1:37:31प्राइवेट देखते हैं। प्राइवेट क्या होता
- 1:37:32है? मेंबर डिक्लेयर्ड एज प्राइवेट। यानी
- 1:37:35जो चीजें आपने क्लास के अंदर प्राइवेट
- 1:37:36डिक्लेअ करी है, आर ओनली असेबल विद इन द
- 1:37:39सेम क्लास। उस क्लास के अंदर ही एक्सेसबल
- 1:37:41होगा। बाहर की दुनिया में एक्सेसबल नहीं
- 1:37:42होगा। ठीक है? अब इस चीज को दिमाग में
- 1:37:44रखो। ठीक है? जब हम कोड करेंगे, समझेंगे
- 1:37:45इस चीज़ को आराम से। ठीक है? दे आर
- 1:37:47नॉटसेसबल फ्रॉम आउटसाइड वर्ड। आउटसाइड
- 1:37:49वर्ड से एक्सेसबल नहीं कर सकते।
- 1:37:50इंक्लूडिंग डिराइव्ड क्लास। अब डिराइव्ड
- 1:37:52क्लास होता है जब इनहेरिटेंस पढ़ेंगे हम तब
- 1:37:54समझेंगे। ठीक है? अब तीसरा होता है
- 1:37:56प्रोटेक्टेड। ठीक है? प्रोटेक्टेड को अभी
- 1:37:57के लिए अभी हम यहां यहीं पे रोक देते हैं।
- 1:37:59यहीं पे रोक देते हैं। प्रोटेक्टेड पे आप
- 1:38:01ज्यादा ध्यान मत दो। जब इन्हहेरिटेंस
- 1:38:02पढ़ेंगे तब हम इस पे ध्यान देंगे। तो अभी
- 1:38:04के लिए आप दो टाइप की ही इनेशन रखो कि दो
- 1:38:06टाइप के मॉडिफायर्स होते हैं। दो टाइप के
- 1:38:08एक्सेस मॉडिफायर हो सकते हैं। पब्लिक और
- 1:38:11प्राइवेट। पब्लिक क्या करता है? वो वो
- 1:38:13डेटा मेंबर्स को वो वो मेंबर्स को पब्लिक
- 1:38:15कर देता है कि आउटसाइड वर्ल्ड उसको एक्सेस
- 1:38:17कर सकता है। ठीक है? जैसे कि यहां पर
- 1:38:18आउटसाइड वर्ल्ड a डॉट आईडी एक्सेस कर सकता
- 1:38:21है। ठीक है? और आपका यह क्या होता है?
- 1:38:24प्राइवेट क्या होता है कि आउटसाइड वर्ल्ड
- 1:38:26आपका प्राइवेट मेंबर्स को एक्सेस नहीं कर
- 1:38:29सकता। बस प्राइवेट मेंबर उसके विदिन क्लास
- 1:38:31ही एक्सेस हो सकते हैं। यानी कि a डॉट
- 1:38:33जीएफ एक्सेस नहीं हो सकता। a जीएफ एक्सेस
- 1:38:36नहीं हो सकता। ठीक है? बट क्लास के अंदर
- 1:38:39क्लास के अंदर जीएफ इनफार्मेशन तो है।
- 1:38:41क्लास के अंदर आके उसको एक्सेस कर कर सकते
- 1:38:42हैं। ठीक है? अब इस चीज़ को समझेंगे। क्लास
- 1:38:44के अंदर आके कैसे एक्सेस करते हैं? इस
- 1:38:46सबको हम कोड में समझेंगे। ठीक है? अभी बस
- 1:38:48थोड़ा सा हम आईडिया रखते हैं दिमाग में।
- 1:38:49नेक्स्ट है आपका परफेक्ट इनकैप्सुलेशन
- 1:38:51क्या होती है? इसको दिमाग में रखेंगे।
- 1:38:52परफेक्ट इनकैप्सुलेशन का मतलब सब कुछ हिडन
- 1:38:55है। परफेक्ट इनकैप्सुलेशन का मतलब सब कुछ
- 1:38:58हिडन है। एवरीथिंग इज़ प्राइवेट। कुछ भी
- 1:39:00ऐसा नहीं है जो बाहर आउटसाइड वर्ल्ड
- 1:39:02एक्सेस कर पाए। ठीक है? बट अगर कुछ भी
- 1:39:04आउटसाइड वर्ड एक्सेस नहीं कर पाएगा। कुछ
- 1:39:07भी आउटसाइड वर्ड एक्सेस नहीं कर पाएगा तो
- 1:39:08कम्युनिकेशन ही नहीं हो पाएगा।
- 1:39:10कम्युनिकेशन नहीं हो पाएगा। तो जब
- 1:39:12कम्युनिकेशन नहीं हो पाएगा तो कैसे
- 1:39:13करेंगे? है ना? मैंने कहा यह आपकी एक
- 1:39:15क्लास है। सपोज इसका नाम पर्सन क्लास है।
- 1:39:19पर्सन की सपोज नेम है।
- 1:39:23ठीक है? पर्सन की एज है। सपोज ये दो चीजें
- 1:39:26हैं। पर्सन के पास दो ही चीजें हैं बस। है
- 1:39:28ना? अब ध्यान से देखो। मैंने कहा मैंने एक
- 1:39:30पर्सन नाम का ऑब्जेक्ट बनाया। पर्सन P1
- 1:39:34जैसे ही मैंने बोला मैंने बोला P1 डॉट नेम
- 1:39:36भी एक्सेस नहीं होगा। P1 डॉट एज भी एक्सेस
- 1:39:39नहीं होगा। ठीक है? ये दोनों मेंबर मैंने
- 1:39:40बोला प्राइवेट हैं। ये दोनों दोनों
- 1:39:42प्राइवेट हैं। ये भी प्राइवेट है। ये भी
- 1:39:43प्राइवेट है। अगर सब कुछ प्राइवेट होगा तो
- 1:39:45उसको मैं परफेक्ट इनकैप्सुलेशन बोलता हूं।
- 1:39:47अब इससे प्रॉब्लम दिमाग में ये आनी चाहिए
- 1:39:49हमें कि अगर सब कुछ ही प्राइवेट होगा तो
- 1:39:50कुछ चल ही नहीं पाया। कुछ एक्सेस ही नहीं
- 1:39:52कर पाएंगे। तो इसमें क्या करते हैं हम?
- 1:39:53इसमें हम क्या करते हैं? इंप्लीमेंटेशन ऑफ़
- 1:39:56पब्लिक मेथड्स। हम पब्लिक मेथड इंप्लीमेंट
- 1:39:58करते हैं सच दैट गेटर एंड सेटर दैट अलाउ
- 1:40:00एक्सटर्नल कम्युनिकेशन। ठीक है? कुछ गेटर
- 1:40:03सेटर करते हैं। कैसे कर सकते हैं हम? हम
- 1:40:05एक मेथड बना सकते हैं यहां पर। उसका नाम
- 1:40:07होगा गेट नेम।
- 1:40:10ठीक है? एक मेथड बना सकते हैं सेट नेम।
- 1:40:15ठीक है? तो मैं P डॉट नेम डायरेक्ट एक्सेस
- 1:40:17नहीं कर सकता। मैं P1 डॉट गेट नेम एक्सेस
- 1:40:20कर सकता हूं।
- 1:40:23P1 डॉट गेट नेम एक्सेस कर सकता हूं। ठीक
- 1:40:26है? अब इससे फायदा क्या होगा? अब आप
- 1:40:28डायरेक्टली नेम को एक्सेस नहीं कर रहे।
- 1:40:30डायरेक्टली नेम को एक्सेस नहीं कर रहे। आप
- 1:40:32नेम को एक्सेस कर रहे हो एक फंक्शन के
- 1:40:34थ्रू जाकर। और इस फंक्शन के अंदर हम कुछ
- 1:40:36एडिशनल चेक भी लगा सकते हैं कि ये सही
- 1:40:38बंदा एक्सेस कर रहा है कि नहीं है। अन
- 1:40:39ऑथराइज एक्सेस तो नहीं है। है ना? तो इसी
- 1:40:41को हम बोलते हैं परफेक्ट इनकैप्सुलेशन। ये
- 1:40:43सब हम एग्जांपल देखेंगे तब समझेंगे। अभी
- 1:40:45के लिए दिमाग में रखते हैं। परफेक्ट
- 1:40:46इनकैप्सुलेशन का मतलब क्या है? सब कुछ
- 1:40:48प्राइवेट है। सब कुछ प्राइवेट होगा तो
- 1:40:49एक्सटर्नल कम्युनिकेशन ही नहीं हो पाएगी।
- 1:40:51तो एक्सटर्नल कम्युनिकेशन हम किनहीं
- 1:40:52फंक्शनंस के थ्रू कर लेंगे। और वो फंक्शन
- 1:40:54कौन से होंगे? वो फंक्शन आपके मेथड्स
- 1:40:56डिक्लेयर्ड होंगे आपके विद इन क्लास। और
- 1:40:58वो सारे प्राइवेट नहीं होंगे। वो पब्लिक
- 1:41:01होंगे। है ना? कुछ तो पब्लिक होगा।
- 1:41:02क्योंकि पब्लिक चीज़ ही तो एक्सेस हो सकती
- 1:41:04है बाहर। दीज़ मेथड अनेबल कंट्रोल एक्सेस
- 1:41:06टू द इनकैप्सुलेटेड डेटा। अब ध्यान से
- 1:41:08देखो। यहां पे कौन सा डाटा इनकैप्सुलेटेड
- 1:41:10है? यह डाटा इनकैप्सुलेटेड है। मैंने
- 1:41:12पब्लिक मेथड बनाया गेट नेम। अब क्योंकि ये
- 1:41:14गेट नेम पब्लिक मेथड है। तो मैं डायरेक्ट
- 1:41:16P1 डॉट नेम एक्सेस नहीं कर रहा। एक
- 1:41:18कंट्रोलोल्ड एक्सेस हो रहा है कि मैं गेट
- 1:41:20नेम के थ्रू जाके एक्सेस कर रहा हूं। गेट
- 1:41:21नेम में मैं कुछ चेक्स लगा सकता हूं कि
- 1:41:23ऑथराइजेशन लॉग इनवॉग इन के चेक लगा सकता
- 1:41:26हूं। है ना? ठीक है? तो ये होता है आपका
- 1:41:28परफेक्ट इनकैप्सुलेशन।
- 1:41:30ठीक है? नेक्स्ट वीडियो में हम देखेंगे
- 1:41:32कैसे हम इसको इंप्लीमेंट कर सकते हैं। ठीक
- 1:41:33है? तो ये था आपका इनकैप्सुलेशन। मिलते
- 1:41:35हैं ऐसी किसी नेक्स्ट वीडियो में। तब तक
- 1:41:36के लिए गुड बाय। इस वीडियो में हम
- 1:41:37इंप्लीमेंट करने वाले हैं इनकैप्सुलेशन इन
- 1:41:39C++। तो इनकैप्सुलेशन में हमने देखा था
- 1:41:42इनकैप्सुलेशन का मतलब था सबसे पहले बाइंड
- 1:41:44करना है हमें क्या? बाइंड करना है डेटा
- 1:41:46को। ठीक है? और बिहेवियर को या मेथड्स को
- 1:41:50टुगेदर। राइट? तो वो तो हमने ऑलरेडी क्लास
- 1:41:52से कर ही लिया था। है ना? क्लास से कर ही
- 1:41:54लिया था। बट एक इंपॉर्टेंट चीज जो हम छोड़
- 1:41:56चुके हैं जो हमने लास्ट वीडियो में क्लास
- 1:41:58इंप्लीमेंट की थी उसमें कि हमने हर चीज
- 1:42:01पब्लिक कर दी थी। राइट? और इनकैप्सुलेशन
- 1:42:03कहता है कि हम सिर्फ वो चीज दिखाना चाहते
- 1:42:05हैं आउटसाइड वर्ल्ड को जो कि मैं एक्चुअली
- 1:42:08दिखाना चाहता हूं। कुछ ऐसे चीजें भी हो
- 1:42:11सकती हैं जो मैं प्राइवेटली अपने पास रखना
- 1:42:13चाहता हूं। मैं आउटसाइड वर्ल्ड को एक्सेस
- 1:42:15नहीं कराना चाहता। ठीक है? इसके थ्रू मैं
- 1:42:17एक सिक्योरिटी लेयर लगा देता हूं। राइट?
- 1:42:20तो हमें क्या करना है?
- 1:42:23हमें क्या करना है? ओनली नेसेसरी
- 1:42:24इंफॉर्मेशन दिखानी है। ओनली नेसेसरी
- 1:42:26इंफॉर्मेशन
- 1:42:29टू बी शोन। ठीक है? तो इसको करने का क्या
- 1:42:33तरीका होता है? हमने पढ़ा हमारे पास
- 1:42:34एक्सेस मॉडिफायर होते हैं। राइट? जो कि
- 1:42:37प्राइवेट होता है। प्राइवेट क्या करता है?
- 1:42:39उस मेंबर को उस मेंबर डेटा मेंबर को, उस
- 1:42:41एट्रिब्यूट को या फिर उस पर्टिकुलर
- 1:42:43बिहेवियर को, उस मेथड को, उस फंक्शन को
- 1:42:46क्या कर देता है? प्राइवेट कर देता है।
- 1:42:47राइट? एक होता है पब्लिक। प्रोटेक्टेड पे
- 1:42:50अभी हम बात नहीं कर रहे हैं। राइट? तो ये
- 1:42:52दो चीजें हैं। तो फटाफट से इसको
- 1:42:54इंप्लीमेंट करके देखते हैं। ठीक है? तो
- 1:42:56हमारे पास यह क्लास थी C++ की जो हमने
- 1:42:59लास्ट इंप्लीमेंट की थी। इसमें हमने सब
- 1:43:01कुछ अभी पब्लिक रखा हुआ है। यानी कि सब
- 1:43:03कुछ एक्सेसबल है यहां पर। राइट? तो एक काम
- 1:43:07करते हैं अभी के लिए हम इस
- 1:43:10पूरे डेटा को यहां से यहां तक को हटा देते
- 1:43:12हैं। इस सबको हटा देते हैं। ठीक है?
- 1:43:18अब एक काम करते हैं। एक काम करते हैं।
- 1:43:20सबसे पहले कुछ प्राइवेट चीजें डालते हैं।
- 1:43:22ठीक है? मैंने कहा कि एक काम कर सकते हैं
- 1:43:26कि हम इसको प्राइवेट बना देते हैं। ठीक
- 1:43:28है? देखो सबसे पहले एक एक रूल है कि जितने
- 1:43:31भी कंस्ट्रक्टर्स होंगे ना और डिस्ट्रक्टर
- 1:43:33होंगे। एक-एक डिस्ट्रक्टर होता है। आई नो
- 1:43:35पर कंस्ट्रक्टर मल्टीपल होते हैं वो सारे
- 1:43:37पब्लिक रहने चाहिए। ठीक है? वह सारे
- 1:43:39पब्लिक रहने चाहिए। तो, हम इन सबको पब्लिक
- 1:43:42डिफाइन करेंगे। ठीक है? कि हम इन सबको
- 1:43:45पब्लिक डिफाइन करेंगे। ठीक है? ये सारे
- 1:43:48पब्लिक होंगे। और मैंने बोला ये सब
- 1:43:50प्राइवेट बना देते हैं। है ना? और इसमें
- 1:43:52आईडी नेम ऑफ नंबर ऑफ़ स्टूडेंट ये सारे मैं
- 1:43:55अ पब्लिक बना देता हूं। ठीक है? तो मैंने
- 1:43:59बोला इन सबको पब्लिक बना देते हैं। इन
- 1:44:01सबको मैंने बोला पब्लिक। ठीक है? तो इस
- 1:44:03तरीके से काम करता है। यहां से लेकर यहां
- 1:44:05तक सब पब्लिक होगा। ठीक है? मैं यहां पे
- 1:44:07पब्लिक की जगह यहां पे प्राइवेट डाल देता
- 1:44:09हूं। ठीक है? अब इसका मतलब क्या है? यहां
- 1:44:12से यहां तक सब पब्लिक है। अब ये ये चीज
- 1:44:14प्राइवेट है। ठीक है? और मैंने इसको हटा
- 1:44:17देते हैं। इसको या इसको रहने देते हैं। एक
- 1:44:19ऐड करते हैं। मैंने बोला एक स्ट्रिंग है
- 1:44:21जो कि है जीएफ की गर्लफ्रेंड। स्टूडेंट की
- 1:44:24गर्लफ्रेंड है। वो बताना नहीं चाहता था।
- 1:44:25राइट? ये एग्जांपल लिया था हमने। अब आपका
- 1:44:28पब्लिक है। ये सब कुछ पब्लिक है। ओके?
- 1:44:30ओके। ओके। ठीक है? ये सारे मेथड पब्लिक
- 1:44:34है। ये सब कुछ पब्लिक है। अब एक काम करता
- 1:44:36हूं। यहां पे एक प्राइवेट मेथड ऐड करते
- 1:44:39हैं। ठीक है? क्योंकि स्टूडेंट नहीं बताना
- 1:44:41चाहता कि गर्लफ्रेंड से बात करता है तो हम
- 1:44:43बोल देते हैं जीएफ चैटिंग।
- 1:44:46ठीक है?
- 1:44:47इसमें क्या डाल सकते हैं हम कि स्टूडेंट
- 1:44:50जो है वो गर्लफ्रेंड से चैटिंग कर रहा है।
- 1:44:52ठीक है?
- 1:44:55चैटिंग विद जीएफ डन है। तो हमने क्या
- 1:45:00किया? इसको प्राइवेट बना दिया। ठीक है? और
- 1:45:02इस इसको मैंने
- 1:45:04इनको प्राइवेट बना दिया। तो ये दो चीजें
- 1:45:06प्राइवेट हैं। है ना? और ओके। बाकी चीजें
- 1:45:10पब्लिक हैं। ठीक है? दोबारा बताता हूं।
- 1:45:12हमने बोला यहां से आता है कि सब कुछ
- 1:45:13पब्लिक है। ठीक है? नेम पब्लिक है। नंबर
- 1:45:15स्टूडेंट पब्लिक है। बाकी सब पब्लिक है।
- 1:45:17ये दो चीजें हमने प्राइवेट वेरिएबल बना
- 1:45:19दिए। ये प्राइवेट है। है ना? यानी आउटसाइड
- 1:45:22वर्ल्ड से इनको मैं नहीं एक्सेस कर
- 1:45:23पाऊंगा। वेरीफाई करेंगे अभी। डोंट वरी।
- 1:45:25ठीक है? मैंने एक पैरामीटराइज कंस्ट्रक्टर
- 1:45:27बना दिया। डन है। ओके। अब एक चीज और ऐड
- 1:45:31करनी है इसके अंदर।
- 1:45:33ठीक है। तो हम एक काम करते हैं। डायनेमिक
- 1:45:36नहीं नॉर्मल नॉर्मल एक
- 1:45:39नॉर्मल स्टूडेंट बनाते हैं। मैंने एक
- 1:45:40स्टूडेंट बनाया ए। ठीक है? और अब ध्यान से
- 1:45:43देखो। दो चीजें हमने ऐड की ना गर्लफ्रेंड
- 1:45:45और वो तो हमें यहां पर डालना पड़ेगा
- 1:45:48स्ट्रिंग
- 1:45:50जीएफ।
- 1:45:51डाल दी मैंने। मैंने बोला कि इसकी जो gf
- 1:45:54है, दिस की जीएफ वो है जो कि पैरामीटर में
- 1:45:57जीएफ आ रही है। वह डन।
- 1:46:00अब ध्यान से देखो।
- 1:46:03दिस का जीएफ जो है यानी कि इस पर्टिकुलर
- 1:46:06क्लास की जो जीएफ है ठीक है यह वेरिएबल
- 1:46:09यहां पे तो एक्सेसबल है राइट यहां पे
- 1:46:11एक्सेसबल है तो हमने क्या बोला था विद इन
- 1:46:12क्लास तो एक्सेसबल होगा वो पर्टिकुलर
- 1:46:14प्राइवेट पर क्लास के बाहर नहीं होगा
- 1:46:16क्लास के बाहर देखें एक बार क्लास के बाहर
- 1:46:19देखें एक बार तो मैंने ए स्टूडेंट बनाया
- 1:46:22ठीक है और फटाफट से इसको बना लेते हैं
- 1:46:24हमें क्या-क्या देना है मैंने आईडी दे दी
- 1:46:27फिर एज दे दी ठीक है उसका नाम नाम दे दिया
- 1:46:30रानू ठीक है फिर उसके बाद नंबर सब्जेक्ट
- 1:46:33दे दिए।
- 1:46:36ठीक है? फिर उसके बाद मैंने इसकी जीपीए दे
- 1:46:38दी 7.8
- 1:46:40ठीक है? फिर उसकी गर्लफ्रेंड का नाम डाल
- 1:46:42दिया मान लो मीनू।
- 1:46:44ठीक है? तो अब देखो जो भी आपकी पब्लिक
- 1:46:47चीजें होंगी वो सारी एक्सेसबल होगी। ए डॉट
- 1:46:50अब देखो डॉट करते ही सारी पब्लिक चीजें
- 1:46:52नजर आ रही हैं आपको। पब्लिक चीजें एज
- 1:46:54पब्लिक थी, बंक मेथड पब्लिक था, आईडी
- 1:46:57पब्लिक थी, नेम, एनओ एस स्लीप स्टडी सब
- 1:47:00कुछ। क्या यहां पे आपको जीएफ चैटिंग नजर आ
- 1:47:02रहा है? नहीं नजर आ रहा है। राइट? और जैसे
- 1:47:05ही मैं इसको पब्लिक मेथड बनाऊंगा
- 1:47:08आपको ये नजर आने लग जाएगा। जैसे ही मैं
- 1:47:10बोलूंगा ए डॉट अब देखो जीएचटी नजर आ रहा
- 1:47:13है। राइट? तो इसका मतलब इसका इंटेलिजेंस
- 1:47:15भी बोल रहा है। इसका इंटेलिजेंस जो है
- 1:47:16आपका
- 1:47:18वीएस कोड का यह भी समझ पा रहा है कि क्या
- 1:47:20हमने पब्लिक रखा क्या प्राइवेट। ठीक है?
- 1:47:22तो अगर मैं सी आउट कर दूं a डॉट एज
- 1:47:28तो हो जाएगा। अगर मैं सी आउट करना चाहूं a
- 1:47:31डॉटgf
- 1:47:33तो यह काम नहीं होगा। यह देखो ध्यान से
- 1:47:35क्या आ रहा है यह आपका एरर दे रहा है
- 1:47:37इनसेबल वो कह रहा है यह स्टूडेंट का जो
- 1:47:40जीएफ है यह इनसेबल है। ये एक्सेस नहीं कर
- 1:47:43सकते हम। इसको नहीं पता लगा पा रहा है ये
- 1:47:45कहां है ये। राइट? इसको रन भी करोगे तो ये
- 1:47:47एरर दे देगा। ठीक है? यह प्राइवेट मेंबर
- 1:47:50है। नहीं नहीं एक्सेस कर सकते। ठीक है? तो
- 1:47:52ये है। आपने बोला कि जीएफ जो है वो एक
- 1:47:55प्राइवेट मेंबर है। मैं नहीं दिखाना
- 1:47:57चाहता। तो आउटसाइड वर्ल्ड कोई भी मेन के
- 1:47:59अंदर बैठ के नहीं कर सकता इसको कॉल है ना
- 1:48:01सिमिलरली आपका जो गर्लफ्रेंड चैटिंग है यह
- 1:48:05भी नहीं एक्सेसबल होगा अगर मैं करने की
- 1:48:06कोशिश करूं gf डॉट चैटिंग
- 1:48:10agf चैटिंग
- 1:48:12ठीक है तो यह भी काम नहीं हो पाएगा
- 1:48:15यह भी नहीं हो पा रहा राइट तो इसका मतलब
- 1:48:18इसका मतलब प्राइवेट मेंबर्स जो भी
- 1:48:21प्राइवेट मेंबर्स थे जो भी पर्सनल इनेशन
- 1:48:23थी ठीक है वो मैंने हाइडर कर ली है वो
- 1:48:25हिडन है मेरी वो मैं दिखा नहीं रहा हूं
- 1:48:27किसी को है ना और ओनली नेसेसरी इनफेशन
- 1:48:30नेसेसरी इनफेशन क्या थी यह सब नेसेसरी
- 1:48:32इनफेशन है आईडी एज नेम और नंबर नंबर ऑफ़
- 1:48:35सब्जेक्ट ये सारी इनफेशन मैंने बाहर के
- 1:48:36वर्ल्ड को दिखाई हुई है ये एक्सेसबल है यह
- 1:48:38कोई भी एक्सेस कर सकता है बट मेरी जीपीए
- 1:48:41और मेरी गर्लफ्रेंड उसका नाम कोई भी
- 1:48:43एक्सेस नहीं कर सकता ठीक है तो ये है आपका
- 1:48:46इनकैप्सुलेशन ओनली ओनली एक्सपोजिंग द
- 1:48:49नेसेसरी इनफार्मेशन एंड हाइडिंग द पर्सनल
- 1:48:53डेटा प्राइवेट डेटा ठीक है एक और चीज अगर
- 1:48:56आप यहां पर टाइप करते हो ए डॉट स्लीप। ठीक
- 1:48:59है?
- 1:49:01ठीक है? तो क्या मेन को यह पता है कि
- 1:49:03स्लीप कैसे लिखा हुआ है? मेन को क्या यह
- 1:49:06पता है कि स्लीप कैसे लिखा हुआ है? आप
- 1:49:08स्लीप की इंप्लीमेंटेशन चेंज भी कर दोगे।
- 1:49:10यहां पे कुछ और भी लिख दोगे। तब भी मेन को
- 1:49:12नहीं पता होगा। मेन के हिसाब से a डॉट
- 1:49:14स्लीप इज़ ए डॉट स्लीप। राइट? राइट? तो ये
- 1:49:17भी एक टाइप की इनकैप्सुलेशन है कि आप हाइड
- 1:49:19कर रहे हो। इन कोडिंग डिटेल हाई हिडन है
- 1:49:22आपके पास। राइट? अब ध्यान से देखो। आपने
- 1:49:24प्राइवेट कर दिया है तो यह एक एक
- 1:49:27सिक्योरिटी लेयर डाल रहा है कि आपकी
- 1:49:29प्राइवेट इनेशन नहीं मिल रही है। स्टूडेंट
- 1:49:31की पर्सनल इनफेशन नहीं देख सकता कोई बार।
- 1:49:33राइट?
- 1:49:34ठीक है? तो ये इतना काम हो गया। नेक्स्ट
- 1:49:36नेक्स्ट हम क्या देख सकते हैं? हमने पढ़ा
- 1:49:38था परफेक्ट इनकैप्सुलेशन। परफेक्ट
- 1:49:41इनकैप्सुलेशन का मतलब क्या हुआ? कि आपके
- 1:49:43सारे एट्रिब्यूट्स हिडन हैं। सारे
- 1:49:46एट्रिब्यूट्स हिडन हैं। क्या कर सकते हैं
- 1:49:48हम? मैं इसको उठाता हूं यहां से। ठीक है?
- 1:49:51और इसको प्राइवेट बना देता हूं। तो यानी
- 1:49:53कि सारे एट्रिब्यूट्स हिडन है। बट यह
- 1:49:55पब्लिक मेथड्स हैं मेरे पास। बहुत सारे
- 1:49:57कंस्ट्रक्शन है। ठीक है? एंड ऑल और यह भी
- 1:50:00मैंने हिडन किया हुआ है। ठीक है? अब ध्यान
- 1:50:04से देखो। जब मैं ये काम करने की कोशिश
- 1:50:07करूंगा तो कुछ भी एक्सेसबल नहीं होगा। एज
- 1:50:08भी एक्सेस नहीं हो रही। राइट? नथिंग। तो
- 1:50:11इसको हम क्या बोलेंगे? जब सब कुछ सारे
- 1:50:13डेटा मेंबर्स, सारे डेटा वेरिएबल्स, सारे
- 1:50:15एट्रिब्यूट्स एट्रिब्यूट्स की बात हो रही
- 1:50:17है यहां पर। सारे एट्रिब्यूट्स अगर आपके
- 1:50:20हिडन हो जाएंगे, सारे प्राइवेट हो जाएंगे,
- 1:50:22तो इसको परफेक्ट इनकैप्सुलेशन बोलूंगा
- 1:50:24मैं। ठीक है? अब इससे मेरा फायदा क्या
- 1:50:25होगा? इससे हम कर सकते हैं एक और एक और
- 1:50:27सिक्योरिटी लेयर डाल सकते हैं कि कुछ भी
- 1:50:30कुछ भी चेंज करने से पहले कुछ भी चेंज
- 1:50:32करने से पहले एक सिक्योरिटी लेयर होगी।
- 1:50:34ठीक है? सपोज़ मुझे जीपीए चेंज करनी है।
- 1:50:36ठीक है? मुझे जीपीए चेंज करनी है। तो मैं
- 1:50:39यहां पर क्या कर सकता हूं? मैं यहां पर
- 1:50:40क्या कर सकता हूं? जितने भी मेरे प्राइवेट
- 1:50:43मेंबर हैं, इनका एक गेटर सेटर लिख सकता
- 1:50:44हूं। ठीक है? पब्लिक मेथड लिखते हैं। गेटर
- 1:50:46सेटर
- 1:50:49ठीक है? अब देखो, मुझे क्या करना है? सेट
- 1:50:51करना है। तो सेटर कैसे काम करेगा? ठीक है?
- 1:50:54आप सेट करोगे सेट जीपीए। ठीक है? ये
- 1:50:58फंक्शन मैंने सेट कर दिया। यह वॉइड टाइप
- 1:51:00का फंक्शन होगा।
- 1:51:03ठीक है? मैंने जीपीए सेट करनी है। मैंने
- 1:51:05बोला जीपीए कैसी होगी? फ्लोट टाइप की थी
- 1:51:07ना हमारे पास। फ्लोट ए। ठीक है? और ध्यान
- 1:51:13से देखो इसको ना हम कॉस्ट बना देते हैं।
- 1:51:14कास्ट नहीं इसको कास्ट नहीं बनाएंगे हम।
- 1:51:17डन। तो मैं क्या बोलूंगा कि मेरी जीपीए जो
- 1:51:20होगी दिस की जो जीपीए होगी
- 1:51:23इस क्लास की जो जीपीए होगी इस इंस्टेंस की
- 1:51:26जो जीपी होगी उसको मैंने ए सेट कर दिया।
- 1:51:30ठीक है? ये ऐसे आएगा क्योंकि ये एक आपका
- 1:51:35डायनेमिक एलोकेशन है यहां पे। पॉइंटर है।
- 1:51:37तो मैंने बोला इसका पॉइंटर ए सेट हो
- 1:51:38जाएगा। डन। जैसे हमने लिखा ऐसे ही हम लिख
- 1:51:41सकते हैं
- 1:51:43फ्लोट रिटर्न टाइप रखेंगे। मैंने बोला गेट
- 1:51:45जीपीए।
- 1:51:48ठीक है? इसको हम कॉस्ट बना सकते हैं। अब
- 1:51:52कॉस्ट का क्या मतलब है? मैं समझाऊंगा। ठीक
- 1:51:53है? डोंट वरी। फिर मैंने बोला रिटर्न कर
- 1:51:56दिया मैंने दिस का जीपीए। दिस का जीपीए।
- 1:52:02ठीक है? सिमिलरली मैं ऐज के लिए बना सकता
- 1:52:04हूं। ऐज के लिए बना सकता हूं। ठीक है?
- 1:52:07मैंने ऐज का बना दिया।
- 1:52:09एज के लिए सिर्फ गेटर बना देते हैं। सपोज
- 1:52:11एज के लिए सिर्फ गेटर बना देते हैं। ठीक
- 1:52:14है? गेट
- 1:52:16एज। ठीक है? यहां पे क्या रिटर्न करेंगे
- 1:52:18हम? मैंने मेरी क्लास की एज रिटर्न कर दी।
- 1:52:23देखो इससे क्या फायदा होगा? अब कोई भी
- 1:52:27आपका जो मेन में बैठा हुआ है वो a डॉट एज
- 1:52:30को एक्सेस नहीं कर पाएगा। ठीक है? a डॉट
- 1:52:33एज को एक्सेस नहीं कर पाएगा। यहां पे एरर
- 1:52:34आ जाएगा। ah को सेट भी नहीं कर पाएगा।
- 1:52:38इसको सेट भी नहीं कर पाएगा। ठीक है?
- 1:52:40सिमिलरली कोई भी A डॉट आपका
- 1:52:44जीपीए को ठीक है? A.gpa
- 1:52:49को डायरेक्टली सेट नहीं कर पाएगा। ठीक है?
- 1:52:51तो यानी कि आपने एक और लेयर डाल दी। एक और
- 1:52:53लेयर डाल दी कि अब और और चेकिंग करूंगा
- 1:52:55मैं। ठीक है? जैसे कि क्या बोल सकते हैं
- 1:52:57हम? सपोज़ मैंने बोला A डॉट सेट GPA करा
- 1:53:01मैंने। सेट GP पे जाके मैंने भेज दी 6.7।
- 1:53:05ठीक है? अब हम क्या कर सकते हैं? जब भी ये
- 1:53:07सेट होगी तो यहां जाके मैं एक और लेयर डाल
- 1:53:10सकता हूं। लेयर ऑफ ऑथेंटिकेशन।
- 1:53:15ठीक है? जो कि ये देख सकती है कि जो सेट
- 1:53:17कर रहा है ना जो भी सेट कर रहा है जो भी
- 1:53:19सेट कर रहा है वो वैलिड बंदा है जो सेट कर
- 1:53:21रहा है। क्या मैं उस एक्चुअली स्टूडेंट जो
- 1:53:23है उस बंदे से उस उस जो भी कॉल कर रहा है
- 1:53:26उससे सेट कराना चाहता हूं मैं जीपीए। ठीक
- 1:53:28है? तो एक और लेयर डाल सकता हूं यहां पे
- 1:53:30कि मैं डायरेक्टली अपने प्राइवेट मेंबर्स
- 1:53:33को एक्सेस नहीं कर रहा। मैं किसी फंक्शन
- 1:53:35के थ्रू एक्सेस कर रहा हूं। उस फंक्शन में
- 1:53:37मैं कोई लेयर डाल सकता हूं। राइट? तो इस
- 1:53:39तरीके से मैं सेट कर सकता हूं। तो अगर
- 1:53:40देखो यहां पे गेटर भी इस तरीके से चलेगा।
- 1:53:42मैंने बोला C आउट A डॉट गेट गेट GPA
- 1:53:48ठीक है? और मैंने बोला जो भी है GP वो
- 1:53:52प्रिंट कर दूं।
- 1:53:54ठीक है? फिर मैंने सेट कर दिया। शुरू में
- 1:53:55GPA क्या थी? से 7.8 राइट? उसकी GP गिर गई
- 1:53:58है बेचारे की। ठीक है? सिमिलरली गेटर से A
- 1:54:01डॉट मैं यहां पे गेट एज कर सकता हूं। गेट
- 1:54:04एज। ठीक है? तो यानी कि मैं डायरेक्टली
- 1:54:07आपके वेरिएबल को जाके एक्सेस नहीं कर रहा।
- 1:54:09मैं एक फंक्शन के थ्रू एक्सेस कर रहा हूं।
- 1:54:11ठीक है? इससे एक और लेयर मिल गई है। ठीक
- 1:54:13है? इनकैप्सुलेशन इस लेयर को डालता है।
- 1:54:14परफेक्टली इनकैप्सुलेशन क्लास के अंदर ऐसा
- 1:54:17ही होता है। तो इसको मैं रन करूंगा अब।
- 1:54:20तो हो गया है। ध्यान से देखो।
- 1:54:24ठीक है? पहले 7.8 थी। ठीक है? 7.8 थी। फिर
- 1:54:28सिक्स थी। ये क्या हुआ है? पॉइंट क्यों
- 1:54:32नहीं आ पा रहा? अच्छा ये फ्लोट होना चाहिए
- 1:54:33गाइस।
- 1:54:35फ्लोट होना चाहिए। ठीक है? यहां पे भी
- 1:54:37चेंज करना पड़ेगा। फिर तो यहां पे इसको भी
- 1:54:40फ्लोट भरना पड़ेगा।
- 1:54:42अब चलेगा ये बढ़िया। ध्यान से देखो। पहले
- 1:54:45हमने क्या किया था? पहले उसकी जो रानू की
- 1:54:487.8 सीजीबी थी। फिर 6.7 हो गई। ठीक है?
- 1:54:51उसकी एज 12 है। ठीक है? तो हम डायरेक्टली
- 1:54:53एक्सेस नहीं कर रहे। हम किसी फंक्शन के
- 1:54:54थ्रू एक्सेस कर रहे हैं। ऐसा ही होता है
- 1:54:56आपके परफेक्टली इनकैप्सु इनकैप्सुलेटेड
- 1:54:58क्लास के अंदर। ठीक है? तो डन है। ठीक है?
- 1:55:02तो इसी को हम कहते हैं इनकैप्सुलेशन। इसके
- 1:55:05अंदर मैंने इंप्लीमेंटेशन डिटेल को हाइड
- 1:55:07किया है। ठीक है? आपको नहीं पता ए डॉट
- 1:55:08स्लीप स्लीप कैसे हो रहा है। आप ओनली
- 1:55:10नेसेसरी इनफेशन बाहर दिखा रहे हो।
- 1:55:12गर्लफ्रेंड मैं नहीं दिखाना चाहता था
- 1:55:13बाहर। है ना? तो मैंने उसको प्राइवेट
- 1:55:15मेंबर बना दिया। मैं नहीं दिखा रहा। ठीक
- 1:55:16है? और जैसे कि हम अपनी आइडियोलॉजी पे चल
- 1:55:19रहे हैं। ऊप्स इज़ लाइफ। सेम चीज यहां पे
- 1:55:21हो रही है। जैसे कि एक पर्सन है, कोई
- 1:55:23स्टूडेंट है, कुछ चीज़ उसकी प्राइवेट होती
- 1:55:24है, कुछ चीज़ उसकी प्राइवेट नहीं होती। जो
- 1:55:26पब्लिक इनफेशन होती है वो कोई भी एक्सेस
- 1:55:28कर सकता है। प्राइवेट इनफेशन कोई एक्सेस
- 1:55:30नहीं कर सकता। बस वो विद इन क्लास एक्सेस
- 1:55:31हो सकती है। राइट? तभी तो काम हो रहा है।
- 1:55:34अगर यहां पे जो ये सेट GPए कैसे चल रहा
- 1:55:36है? सेट GPए कैसे चल रहा है? अब जब A.gpए
- 1:55:40तो आप नहीं एक्सेस कर पा रहे थे। A.gpए तो
- 1:55:43यहां पे एरर दे रहा था। राइट? A.gpa
- 1:55:45इनसेबल दिखा रहा था। बट A डॉट सेट GPए चल
- 1:55:48रहा है। ध्यान से देखो। सेट GPA के अंदर
- 1:55:49ये gpए वेरिएबल जो है ये वाला वेरिएबल जो
- 1:55:51है एक्सेस हो रहा है। क्यों हो रहा है?
- 1:55:53क्योंकि ये विद इन क्लास है। ठीक है? मुझे
- 1:55:56तो पता है ना मेरे सीक्रेट्स क्या है पर
- 1:55:58आउटसाइड वर्ल्ड को नहीं पता तो मुझे मेरे
- 1:55:59सीक्रेट पता है मुझे मेरी जीपीए पता है तो
- 1:56:01मैं अपनी जीपीए चेंज कर सकता हूं तो कोई
- 1:56:03बंदा अगर जो बाहर से कॉल कर रहा है ठीक है
- 1:56:05अगर वो ऑथराइज्ड है तो वो यहां पर मेरे
- 1:56:08मेथड को कॉल करे फिर मैं चेक करूंगा वो
- 1:56:11सही बंदा है कि नहीं तो मैं चेंज कर दूंगा
- 1:56:13ठीक है तो ये था आपका इनकैप्सुलेशन की
- 1:56:15इंप्लीमेंटेशन इन C++ ठीक है अगर इसको
- 1:56:18रिपीट करूं तो बाइंड कर रहे हैं हम डेटा
- 1:56:21और मेथड को वो हम क्लास में करते ही हैं।
- 1:56:22ठीक है? और उसके बाद सबसे इंपॉर्टेंट चीज
- 1:56:24जो सबसे इंपॉर्टेंट फंक्शन था आपका
- 1:56:26इनकैप्सुलेशन का वो भी हम यहां कर रहे हैं
- 1:56:29कि हम लेयर ऑफ सिक्योरिटी डाल रहे हैं।
- 1:56:31कैसे हम ओनली नेसेसरी इनफेशन आउटसाइड
- 1:56:33वर्ल्ड को दिखा रहे हैं और इंप्लीमेंटेशन
- 1:56:34डेट डिटेल जो है कोड की वो हाइड कर रहे
- 1:56:36हैं। ठीक है? आपका जो मेन गोल था जो कि
- 1:56:39अनथराइज उस एक्सेस को रोकना है ना? वो भी
- 1:56:42हम कर रहे हैं यहां पर। है ना? और जो
- 1:56:45अंडरलाइन इंप्लीमेंटेशन है वन क्लास की वह
- 1:56:48किसी दूसरी क्लास को या किसी आउटसाइड
- 1:56:49वर्ल्ड को नहीं पता। ठीक है? ठीक है? A
- 1:56:51स्लीप नहीं पता कैसे करता है पर वो
- 1:56:53कम्युनिकेट कर सकते हैं। ठीक है? ध्यान
- 1:56:55देखो यहां पे A.gpए नहीं पता था बट वो
- 1:56:58कम्युनिकेट कर पा रहा था गेट GP के थ्रू।
- 1:57:00है ना? कम्युनिकेट कर पा रहा था। ठीक है?
- 1:57:03तो आई होप आपको मजा आया होगा
- 1:57:04इंप्लीमेंटेशन में इनकैप्सुलेशन की इन
- 1:57:06C++। मिलते हैं ऐसे किसी नेक्स्ट वीडियो
- 1:57:08में। तब तक के लिए गुड बाय। ऊप्स के फोर
- 1:57:10पिलर्स में से वन ऑफ़ द इंपॉर्टेंट पिलर है
- 1:57:13इन्हहेरिटेंस। समझते हैं इन्हरिटेंस होता
- 1:57:15क्या है? जैसे कि मैंने लास्ट कुछ वीडियोस
- 1:57:16में कहा था कि ऊप्स जो है वो लाइफ की तरह
- 1:57:18ही है। राइट? जैसे कि जीवन में
- 1:57:20इन्हहेरिटेंस होती है। राइट? आपके जो
- 1:57:23पिताजी हैं, ठीक है? आपके जो माताजी हैं,
- 1:57:25आपके जो पेरेंट्स हैं, उनसे आपने कुछ ना
- 1:57:27कुछ एट्रिब्यूट्स, कुछ ना कुछ प्रॉपर्टीज,
- 1:57:29उनके कुछ बिहेवियर, ठीक है? उनके कुछ
- 1:57:31फिजिकल प्रॉपर्टीज है ना? वो आपने
- 1:57:33इन्हहेरिट करी है। जैसे कि हो सकता है कि
- 1:57:34आपके मम्मी की आंखें ब्लू हो और आपकी भी
- 1:57:38आंखें ब्लू हो। है ना? हो सकता है आपके
- 1:57:40पापा के बाल जल्दी उड़ जाते हो तो आपके
- 1:57:42बाल भी जल्दी उड़ सकते हैं या उड़ जाए या
- 1:57:45फिर आपकी फैमिली हिरारकी में उड़ जाते हो
- 1:57:47इंजन में। तो यानी कि कुछ ना कुछ
- 1:57:48प्रॉपर्टीज कुछ ना कुछ बिहेवियर जो है हम
- 1:57:50इन्हहेरिट करते हैं। राइट? और हो सकता है
- 1:57:53आपके पापा जो हो वो बहुत गुस्से वाले हो
- 1:57:55और आप भी बहुत गुस्से वाले हो। है ना? बट
- 1:57:58ऐसा भी हो सकता है सिमिलरली कि आपकी जो
- 1:57:59बहन है वो ज्यादा गुस्से वाली ना हो। वो
- 1:58:01कम गुस्से वाली हो। तो इसका मतलब सब कुछ
- 1:58:04हम इन्हहेरिट नहीं करते। बोल सकते हैं कि
- 1:58:06हम सब कुछ इन्हहेरिट नहीं करते। कुछ
- 1:58:08प्रॉपर्टीज इन्हहेरिट करते हैं और कुछ
- 1:58:10अपनी खुद की प्रॉपर्टीज भी होती हैं। तो
- 1:58:11दो चीजें हम याद रखेंगे। जब भी
- 1:58:13इन्हहेरिटेंस होती है इन जनरल लाइफ के
- 1:58:15अंदर तो इन्हहेरिटेंस का मतलब क्या होता
- 1:58:17है कि कुछ प्रॉपर्टीज आप अपने पेरेंट्स से
- 1:58:20इन्हहेरिट करते हो। ठीक है? कुछ
- 1:58:22प्रॉपर्टीज इन्हहेरिट करते हो और कुछ आपकी
- 1:58:24खुद की प्रॉपर्टीज भी होती हैं जो कि अलग
- 1:58:26होती हैं। राइट? हो सकता है आपके पापा
- 1:58:28बहुत गुस्से वाले हो बट आपकी बहन नहीं है
- 1:58:30गुस्से वाली। वो बहुत ज्यादा शांत रहती
- 1:58:32है। राइट? बहुत सारी चीज़ हो सकती हैं। हो
- 1:58:34सकता है आपके पापा को ड्राइव करना बहुत कम
- 1:58:36पसंद हो। हो सकता है अब आपको ड्राइव करना
- 1:58:38बहुत ज़्यादा पसंद है। राइट? तो इसका मतलब
- 1:58:41दो चीजें हमें दिमाग में रखनी है। ओके?
- 1:58:43कुछ प्रॉपर्टीज हम इन्हहेरिट करते हैं
- 1:58:44अपने पेरेंट्स से। ठीक है? और हमारी खुद
- 1:58:46की एक्स्ट्रा प्रॉपर्टीज भी होती हैं। बट
- 1:58:48ये यहां पर कैसे अप्लाई हो रहा है? जैसे
- 1:58:49कि हमने कहा था ऊप्स इज़ लाइफ जो लाइफ में
- 1:58:52जिस तरीके से ऊप्स चलती है उसी चीज की
- 1:58:54इंप्लीमेंटेशन कोड में कैसे करते हैं वही
- 1:58:56है। है ना? समझते हैं एग्जांपल से। तो
- 1:58:59समराइज़ करते हुए भाई चाइल्ड जो होता है वो
- 1:59:02इन्हहेरिट करता है कुछ प्रॉपर्टी बिहेवियर
- 1:59:03अपने पेरेंट्स से। ठीक है? इन जनरल होता
- 1:59:05ही है ये। अब अगर बात करें हम कोड वाइज़।
- 1:59:07ठीक है? कोड वाइज जैसे कि हमने बोला था
- 1:59:09क्लास जो है वो टेंपल्लेट होती है। ठीक
- 1:59:11है? तो अगर मैं एक क्लास बनाता हूं। ठीक
- 1:59:14है? जिसको मैं बोल देता हूं वो चाइल्ड
- 1:59:15क्लास है। और वो कुछ प्रॉपर्टीज ऑफ
- 1:59:18बिहेवियर अपने पेरेंट क्लास जिसको मैं बेस
- 1:59:21क्लास भी कह सकता हूं। उसे इन्हहेरिट करती
- 1:59:23है। ठीक है? तो इस चीज को इस चीज को इस
- 1:59:26प्रोसेस को मैं इन्हहेरिटेंस बोल देता
- 1:59:27हूं। यानी कि मेरी कुछ ना कुछ पेरेंट
- 1:59:29क्लास है। ठीक है? पेरेंट क्लास है। उसके
- 1:59:32अंदर बहुत सारे एट्रिब्यूट्स और बिहेवियर
- 1:59:34हैं। याद है? हमने पढ़ा था एक क्लास के
- 1:59:36अंदर भाई उस को इन्हहेरिट करके पेरेंट
- 1:59:39क्लास को इन्हहेरिट करके आपकी एक चाइल्ड
- 1:59:41क्लास बनाई है। ठीक है? एक चाइल्ड क्लास
- 1:59:44बनी है जो कि कुछ प्रॉपर्टीज पेरेंट की
- 1:59:47इन्हहेरिट करती है और कुछ उसकी न्यू
- 1:59:49प्रॉपर्टीज भी होती हैं। ठीक है? तो इस
- 1:59:51चीज को हम इन्हहेरिटेंस कहते हैं। और
- 1:59:53थोड़ा टेक्निकल वे में बोलें तो
- 1:59:54इन्हहेरिटेंस इज़ अ वे टू क्रिएट अ क्लास
- 1:59:56फ्रॉम एक्सिस्टिंग क्लास। कोई एकिस्टिंग
- 1:59:58क्लास है, कोई पेरेंट क्लास है, उससे आपने
- 2:00:00एक चाइल्ड क्लास बनाई है। समझते हैं इस
- 2:00:02चीज को कैसे कर सकते हैं। आगे देखते हैं।
- 2:00:05बट इन्हहेरिटेंस कब यूज़ होगी? ठीक है? कब
- 2:00:07हो सकता है कि हमें अपने कोड के अंदर
- 2:00:09इन्हहेरिटेंस डालने की जरूरत पड़ जाए।
- 2:00:10मतलब कब मेरे माइंड में स्ट्राइक करे कि
- 2:00:12हां यहां मुझे इन्हहेरिटेंस चाहिए। वो
- 2:00:14समझते हैं। ठीक है? तो इसका एक बुकिश थंब
- 2:00:17रूल होता है जिसको हम कहते हैं इज़ अ
- 2:00:19रिलेशनशिप। कि जहां पर भी आपको दो एंटिटीज
- 2:00:21के बीच में इज़ अ रिलेशनशिप मिल जाए। जहां
- 2:00:24पर भी दो एंटिटीज के बीच में इज अ
- 2:00:26रिलेशनशिप मिल जाए वहां हम इन्हहेरिटेंस
- 2:00:28अप्लाई कर देंगे। ठीक है? एग्जांपल
- 2:00:30समझेंगे। बट एक और चीज समझते हैं कि
- 2:00:31इन्हहेरिटेंस जो है वो कब अप्लाई होती है?
- 2:00:34जब कोई हिरार्किकल रिलेशनशिप बन रहा हो।
- 2:00:36हिरार्किकल रिलेशनशिप कैसे है? भ आपके
- 2:00:38ग्रैंड पेरेंट्स हैं। ग्रैंड के ग्रैंड
- 2:00:40पेरेंट्स भी हैं। है ना? फिर ग्रैंड के
- 2:00:42ग्रैंड पेरेंट्स के ग्रैंड पेरेंट्स बने।
- 2:00:43फिर आपके पेरेंट्स बने। फिर आप हो। फिर
- 2:00:45फर्दर आपके भी ऑफस्प्रिंग्स बनेंगे। आपके
- 2:00:47चिल्ड्रन बनेंगे। राइट? ठीक है? तो ये
- 2:00:49हिरार्की बन रही है। तो जब ऐसी हिरारकी
- 2:00:51फॉर्म हो रही हो। ठीक है? ठीक है? ऐसे
- 2:00:53रिलेशनशिप फॉर्म हो रहे हो तब इनहेरिटेंस
- 2:00:55यूज़ करते हैं। है ना? एग्जांपल समझते हैं।
- 2:00:58सपोज़ करते हैं। जैसे कि आप देख सकते हो
- 2:01:00एनिमल हिरार्की होती है। ठीक है? सिंपल इज़
- 2:01:02अ रिलेशनशिप के एग्जांपल्स हैं जो इन जनरल
- 2:01:05लाइफ में होते हैं। तो अगर मैं बोलूं कि
- 2:01:06बेस क्लास मेरी इनकी एनिमल है कि एनिमल एक
- 2:01:09बेस है। ठीक है? एनिमल किंगडम होता है ना?
- 2:01:11बेस है। उसके बाद उनसे उनकी डिराइव्ड
- 2:01:13क्लास है मैमल, रेप्टाइल, बर्ड। राइट? तो
- 2:01:16मैं क्या कह सकता हूं कि मैमल
- 2:01:20इज़ अ एनिमल। यस और नो मुझे मिल गया इज अ
- 2:01:24रिलेशनशिप। सिमिलरली मैं बोल सकता हूं
- 2:01:26बर्ड इज अ एनिमल। बर्ड एक एनिमल है।
- 2:01:29सिमिलरली रेप्टाइल इज अ एनिमल। तो जहां भी
- 2:01:31इज अ रिलेशनशिप बन रहा है वहां मैं यूज़ कर
- 2:01:33सकता हूं इन्हहेरिटेंस। नेक्स्ट एग्जांपल
- 2:01:36देखो व्हीकल क्लासिफिकेशन। आप बोल सकते हो
- 2:01:38मेरी एक बेस क्लास है। ठीक है? व्हीकल नाम
- 2:01:41से। ठीक है? व्हीकल नाम से। अब व्हीकल
- 2:01:44कितने टाइप के होते हैं? आप देखो व्हीकल
- 2:01:46कार एक व्हीकल है। ठीक है? ठीक है?
- 2:01:48सिमिलरली मोटरसाइकिल एक व्हीकल है, ट्रक
- 2:01:50एक व्हीकल है। तो मैं हर हर चीजों को बोल
- 2:01:51सकता हूं कि कार इज़ अ व्हीकल। ठीक है?
- 2:01:54मोटरसाइकिल इज़ अ व्हीकल, ट्रक इज़ अ
- 2:01:56व्हीकल। तो, यहां पे भी एक इज़ अ रिलेशनशिप
- 2:01:58फॉर्म हो रहा है। ठीक है? यहां हम जानना
- 2:01:59चाह रहे हैं। यहां भी हम क्या प्रैक्टिस
- 2:02:01कर रहे हैं? एग्जांपल्स के द्वारा ये
- 2:02:02जानने की कोशिश कर रहे हैं कि इन जनरल
- 2:02:04रियल लाइफ में इज़ अ रिलेशनशिप कहां-कहां
- 2:02:06होते हैं? इससे आपके माइंड में स्ट्राइक
- 2:02:07करेगा कि हां मुझे इनहेरिटेंस लगानी
- 2:02:09चाहिए। लगाएंगे कैसे? वह नेक्स्ट स्लाइड
- 2:02:10में समझेंगे। अभी एग्जांपल्स देखते हैं।
- 2:02:12मैंने बोला एंप्लई कैटेगराइजेशन अगर समझूं
- 2:02:14मैं तो किसी भी ऑर्गेनाइजेशन में एक
- 2:02:16एंप्लई होता है। ठीक है? या मैं बोल सकता
- 2:02:19हूं कि ऑर्गेनाइजेशन में सभी एंप्लाइजज़
- 2:02:21होते हैं। चाहे वो सीईओ हो, चाहे सीएफओ
- 2:02:24हो, चाहे कोई जूनियर डेवलपर हो, चाहे कोई
- 2:02:26सीनियर डेवलपर हो, चाहे एचआर हो, हर कोई
- 2:02:28एंप्लई है। बोल सकते हैं। तो मैं बोल सकता
- 2:02:31हूं सीईओ इज़ अ एंप्लई, सीएफओ इज़ अ
- 2:02:33एंप्लॉय। एचआर मैनेजर इज़ एंप्लॉय, डेवलपर
- 2:02:35इज़ अ एंप्लॉय, सीनियर डेवलपर इज़ अ एंप्लई।
- 2:02:37सब एंप्लई ही हैं। तो सिमिलरली यहां पे है
- 2:02:40कि मैनेजर इज़ एंप्लॉय, डेवलपर इज़ अ
- 2:02:42एंप्लई, एचआर स्पेशलिस्ट इज़ अ एंप्लई। तो
- 2:02:44यहां भी इज़ अ रिलेशनशिप फॉर्म हो रहा है।
- 2:02:46ज्योमेट्री क्लासेस में देखें तो शेप बोल
- 2:02:49सकते हैं बेस क्लास यानी कि एक पेरेंट है
- 2:02:51शेप। अब ध्यान से देखो कि बहुत सारी शेप्स
- 2:02:55होती हैं। जैसे कि सर्कल, स्क्वायर,
- 2:02:57ट्रायंगल। तो अगेन सर्कल इज़ अ शेप,
- 2:03:01स्क्वायर इज़ अ शेप, ट्रायंगल इज़ अ शेप।
- 2:03:03सिमिलरली इलेक्ट्रॉनिक डिवाइसेस की बात
- 2:03:05करें तो मैं बोल सकता हूं सभी डिवाइसेस
- 2:03:07होते हैं। एक बेस क्लास हुई डिवाइसेस। ठीक
- 2:03:09है? अब स्मार्टफोन इज अ डिवाइस, लैपटॉप इज
- 2:03:12अ डिवाइस, टेबल इज अ डिवाइस। यस और नो। अब
- 2:03:14इसमें एक चीज समझते हैं कि मैंने बोला कि
- 2:03:15मेरी बेस क्लास है। ठीक है? ऐसी मेरी और
- 2:03:19क्लासेस भी हैं। तो मैंने बेस क्लास को
- 2:03:22बोला यह मेरी व्हीकल क्लास है। ठीक है?
- 2:03:25व्हीकल क्लास है। और व्हीकल मेरे कार होती
- 2:03:29है एक व्हीकल। है ना? ट्रक भी एक व्हीकल
- 2:03:31है। तो हमने बोला कि कार इज अ व्हीकल।
- 2:03:34ट्रक इज अ व्हीकल। हमने सिंपली ये जनरल
- 2:03:36जनरलाइज़ कर दिया। ओके? एक टर्म मैंने बोली
- 2:03:39जनरलाइज़। इसका मतलब कि यहां पर एक एक
- 2:03:43रिलेशनशिप बिल्ड हो रहा है जनरलाइजेशन एंड
- 2:03:45स्पेशलाइजेशन का। कैसे समझते हैं? कार इज़
- 2:03:49अ व्हीकल। ट्रक इज़ अ व्हीकल। दोनों ही
- 2:03:52व्हीकल है। राइट? तो अगर जनरलाइज्ड टर्म
- 2:03:55बोलूं तो मैं बोल सकता हूं कि दोनों ही
- 2:03:57व्हीकल है। अगर मेरे को रोड पे खड़े खड़ी
- 2:03:59हुई एक कार दिखे। सिमिलरली एक ट्रक दिखे।
- 2:04:02ठीक है? और आप हो आपके फ्रेंड खड़े हो।
- 2:04:04ठीक है? आपका फ्रेंड बोले दिस इज कार। ठीक
- 2:04:07है? फिर आपका फ्रेंड ट्रक को देख के बोले
- 2:04:09दिस इज़ ट्रक। वो भी सही है। अब आप बोलो कि
- 2:04:12दिस इज़ व्हीकल, दिस इज़ व्हीकल। आप भी सही
- 2:04:15हो। आपने कैसे बोला? आपने जनरलाइज़ तरीके
- 2:04:17की चीजों को बोल दिया। ठीक है? आपके दोस्त
- 2:04:19ने स्पेशलाइज़ तरीके की चीजों को बोल दिया।
- 2:04:21राइट? आपने बोल दिया दोनों को
- 2:04:23एब्स्ट्रैक्ट टर्म में कि दोनों ही ना
- 2:04:25दोनों ही क्या है? व्हीकल है। ठीक है?
- 2:04:27आपका फ्रेंड बोलता है व्हीकल नाम नहीं
- 2:04:29लेता वो। आपका फ्रेंड बोलता है
- 2:04:30स्पेशलाइज्ड टर्म बोलता है कि ये कार है।
- 2:04:32यह स्पेशली कार है और यह स्पेशली ट्रक है।
- 2:04:35क्या आप समझ पा रहे हो? जनरलाइजेशन
- 2:04:37स्पेशलाइजेशन। सिमिलरली एनिमल एनिमल की
- 2:04:39बात करें हम तो अगर मैं बोलूं कि मेरे पास
- 2:04:44एक एनिमल था। राइट? एनिमल।
- 2:04:47ठीक है? यहां पर मेरे पास एक बर्ड है।
- 2:04:49यहां पर एक मेरे पास रेप्टाइल है।
- 2:04:52अब आप और आपके फ्रेंड आते हो। आप बोलते हो
- 2:04:54कि ओके बर्ड को देख के आपका फ्रेंड बोलता
- 2:04:58है कि दिस इज अ बर्ड। वो कैसे यूज़ कर रहा
- 2:05:00है? वो स्पेशलाइज्ड टर्म यूज़ कर रहा है।
- 2:05:02ठीक है? आप बोलते हो जाके ओके दिस इज़
- 2:05:05एनिमल। तो आप भी सही हो। आपका फ्रेंड भी
- 2:05:07सही है। इसका मतलब आप दोनों सही हो। यानी
- 2:05:10कि यहां पर एक जनरलाइजेशन और स्पेशलाइजेशन
- 2:05:13हो रहा है। आपका फ्रेंड स्पेशलाइज़्ड टर्म
- 2:05:15बोल रहा है और आप एक जनरलाइज़्ड टर्म बोल
- 2:05:17रहे हो। तो यहां देख रहे हो हिरारकी बन
- 2:05:19रही है। है ना? दोनों चीजें सेम हैं। आपका
- 2:05:22फ्रेंड भी सही बोल रहा है। आप भी सही बोल
- 2:05:24रहे हो। आप भी बर्ड को एनिमल बोल दे रहे
- 2:05:26हो। आपका फ्रेंड बर्ड को बर्ड ही बोल दे
- 2:05:28रहा है। बट दोनों में इज़ अ रिलेशनशिप है।
- 2:05:30तो जहां पर ये रिलेशनशिप फॉर्म होता है
- 2:05:32वहां पर हम इन्हहेरिटेंस क्रिएट कर सकते
- 2:05:34हैं। ठीक है? इन्हहेरिटेंस क्रिएट वहां उन
- 2:05:37जगहों पे हम बहुत अच्छे से कर सकते हैं और
- 2:05:39समझते हैं इसको कैसे कर सकते हैं। ठीक है?
- 2:05:41इसलिए ये वाला जो पॉइंट था कि हम अप्लाई
- 2:05:43कर सकते हैं जहां पे हिरार्क रिलेशनशिप
- 2:05:45हो। सिग्निफाई स्पेशलाइज़ेशन, जनरलाइज़ेशन
- 2:05:47कनेक्शन। ठीक है? तो अब तक हमें क्या समझ
- 2:05:48आया? अब तक हमें समझ आ गया कि इज़ अ
- 2:05:50रिलेशनशिप क्या है? जनरलाइजेशन
- 2:05:51स्पेशलाइजेशन टर्म क्या है? है ना? और अगर
- 2:05:53आप जनरलाइजेशन को आप एब्स्ट्रैक्शन भी बोल
- 2:05:55सकते हो। आप ध्यान से देखो। अगर मैं एक
- 2:05:57बर्ड को एनिमल बोल देता हूं तो मैं एक
- 2:05:59एब्स्ट्रैक्ट टर्म बोल रहा हूं। ऊपर ऊपर
- 2:06:01से मैंने बोल दिया कि एनिमल है। सारे ही
- 2:06:02एनिमल हैं। जैसे मैं बोल सकता हूं दुनिया
- 2:06:05में सारे लोग पर्सन हैं। ठीक है? फिर आप
- 2:06:08बोलते हो नहीं ये राहुल है। नहीं ये रीना
- 2:06:10है। राइट? तो वो हो गया आपने स्पेशलाइज्ड
- 2:06:12टर्म बोल दी और मैंने बोल दिया जनरलाइज़ ऑल
- 2:06:14आर पर्सनंस। ठीक है? तो हमने रिलेशनशिप
- 2:06:17समझा। जनरलाइज सोशलाइजेशन का इज़ अ
- 2:06:19रिलेशनशिप हमारे माइंड स्ट्राइक कर रही है
- 2:06:20कि कहां यहां पर मुझे इन्हहेरिटेंस सोचनी
- 2:06:23है। मैं लगा सकता हूं इन्हरिटेंस। अब
- 2:06:25देखते हैं नीड क्यों पड़ रही है इनरिटेंस
- 2:06:26की। देखो समझो सपोज़ करते हैं मेरे पास
- 2:06:30व्हीकल है। मेरे को एक प्रोग्राम बनाना है
- 2:06:32जिसके अंदर बहुत सारे व्हीकल्स हैं। ठीक
- 2:06:33है? और आपके आपने रिप्रेजेंट किए हैं
- 2:06:37व्हीकल जैसे कि कार है। ठीक है?
- 2:06:39मोटरसाइकिल्स हैं। ठीक है? अगेन अब आप
- 2:06:42ध्यान से सोचो। कार्स के कुछ एट्रिब्यूट
- 2:06:44होंगे। जैसे कि नेम, मॉडल। ठीक है? और
- 2:06:49स्टार्ट इंजन, स्टॉप इंजन। यस और नो। इसका
- 2:06:53मतलब अगर मैं एक प्रोग्राम बनाना चाह रहा
- 2:06:55हूं। ठीक है? व्हीकल सिस्टम है। ओके? तो
- 2:06:58कार के मैंने सोचे कि कुछ मेरे पास
- 2:07:00पर्टिकुलर
- 2:07:03एट्रिब्यूट्स मुझे समझ आते हैं जिसके अंदर
- 2:07:05एक है कि एक स्टार्ट इंजन कार का
- 2:07:07एट्रिब्यूट है एट्रिब्यूट नहीं एक ये एक
- 2:07:09बिहेवियर है ये एक फंक्शन है कि कार का एक
- 2:07:11बिहेवियर है कि वो इंजन स्टार्ट भी होता
- 2:07:14है उसका सिमिलरली कार का एक बिहेवियर है
- 2:07:16स्टॉप इंजन ठीक है और कार का मॉडल नंबर
- 2:07:18होता है और नेम भी होता है ओके तो मैं एक
- 2:07:20क्लास बना सकता हूं कार नाम की तो मैं
- 2:07:22फटाफट से एक क्लास बनाता हूं कार नाम की
- 2:07:25तो मैंने कार नाम की क्लास बनाई इसमें
- 2:07:27मैंने नेम डाल दिया। इसमें मैंने मॉडल डाल
- 2:07:30दिया। ठीक है? और दो बिहेवियर डाल दिए
- 2:07:32जिसमें कि स्टार्ट इंजन है। ठीक है? और
- 2:07:35स्टॉप इंजन है। स्टॉप इंजन है। ठीक है?
- 2:07:38ओके? अब मैं दोबारा आगे चला। मैं अब मुझे
- 2:07:41समझ आता है कि मुझे तो मोटरसाइकिल क्लास
- 2:07:42भी बनानी थी। और आप ध्यान से देखो कि
- 2:07:45मोटरसाइकिल क्लास भी जब मैं बनाता हूं तो
- 2:07:46मुझे समझ आता है मुझे समझ आता है कि अगर
- 2:07:49मैं ये बनाने चलूं मोटरसाइकिल क्लास।
- 2:07:51मोटरसाइकिल क्लास बनाने जाऊं मैं
- 2:07:53मोटरसाइकिल। है ना? तो मुझे समझ आता है
- 2:07:55इसका इसमें भी नेम होगा। है ना? ओके।
- 2:07:58इसमें मॉडल होगा। ओके। और इसके अंदर भी
- 2:08:01मुझे समझ आता है कि स्टार्ट इंजन एक
- 2:08:03फंक्शन होना चाहिए। क्योंकि मोटरसाइकिल का
- 2:08:05भी इंजन स्टार्ट तो होगा ही। और एक स्टॉप
- 2:08:07इंजन फंक्शन भी होना चाहिए। स्टॉप इंजन कि
- 2:08:09मोटरसाइकिल का इंजन स्टॉप तो होगा ही। और
- 2:08:11साथ ही साथ मुझे ये समझ आता है कि देखो
- 2:08:13कार के अंदर ना कुछ अलग चीजें भी होती
- 2:08:15हैं। जैसे कि अ कार के अंदर मैं कह सकता
- 2:08:18हूं नंबर ऑफ डोर्स। ओके? तो नंबर ऑफ डोर्स
- 2:08:20एक वेरिएबल ले सकते हैं। नंबर ऑफ डोर्स
- 2:08:22कितने हैं उसके अंदर? बाइक में तो डोर
- 2:08:23होते ही नहीं है। है ना? तो बाइक में हो
- 2:08:25सकता है मैं बोल दूं यहां पे बाइक में एक
- 2:08:27और एट्रिब्यूट ले लेते हैं जिसके अंदर है
- 2:08:29हैंडल बार स्टाइल कि उसका हैंडल बार किस
- 2:08:31स्टाइल का है। है ना? किस स्टाइल का है।
- 2:08:34ओके? और एक और मैं बोल सकता हूं कि कार
- 2:08:37बाइक के अंदर सस्पेंशन टाइप हो सकता है कि
- 2:08:40बाइक के अलग सस्पेंशंस होते हैं। राइट?
- 2:08:42सिमिलरली मैं कार में बोल सकता हूं कार
- 2:08:44में एक ट्रांसमिशन टाइप है। ट्रांसमिशन
- 2:08:46टाइप। ठीक है? तो इस तरीके से मैंने सोचा।
- 2:08:49तो अब ध्यान से देखो। मैंने दो क्लास
- 2:08:51डिजाइन करी इस तरीके की है ना और एक और
- 2:08:53चीज सोच सकते हैं अगर मैं मोटरसाइकिल के
- 2:08:55बिहेवियर की बात करूं मोटरसाइकिल के अंदर
- 2:08:57हम विली कर सकते हैं राइट तो एक फंक्शन
- 2:09:00बना सकते हैं व्हीलली कि मोटरसाइकिल विलली
- 2:09:01कर रही है राइट और कार के अंदर हम एक और
- 2:09:04फंक्शन बना सकते हैं स्टार्ट एसी स्टॉप
- 2:09:07एसी ठीक है स्टार्ट एसी बना लेते हैं कार
- 2:09:09में एसी होता है बाइक में नहीं होता ठीक
- 2:09:11है और क्या सोच सकते हैं और क्या सोच सकते
- 2:09:13हैं ओके मैं यह भी सोच सकता हूं कि दोनों
- 2:09:15के अंदर दोनों के अंदर नंबर ऑफ टायर्स भी
- 2:09:18होते हैं नंबर ऑफ टायर्स
- 2:09:21ठीक है? इधर भी नंबर ऑफ टायर्स।
- 2:09:26ठीक है? तो मैंने सोचा बैठ के डिजाइन। अब
- 2:09:28देखो, ध्यान से देखो। मुझे समझ आ रहा है
- 2:09:30कि नेम मॉडल और नंबर ऑफ टायर्स मोटरसाइकिल
- 2:09:34क्लास में भी डिफाइंड है। और नेम मॉडल
- 2:09:38नंबर ऑफ टायर्स कार क्लास के अंदर भी
- 2:09:40डिफाइंड है। ओके? दोनों में रिपीटेशन हो
- 2:09:43रही है। देख रहे हो आप? यानी कि मैं रिपीट
- 2:09:46कर रहा हूं वेरिएबल्स को दोनों के अंदर।
- 2:09:48तो क्या मैं कुछ ऐसा डिजाइन क्रिएट कर
- 2:09:50सकता हूं? क्या मैं कुछ ऐसा डिजाइन क्रिएट
- 2:09:52कर सकता हूं कि मैं ये रिपीटेशन ना करूं
- 2:09:56कि मैं रिपीटेशन ना करूं। तो आप ध्यान से
- 2:09:58देखो मेरे पास नेम मॉडल नंबर ऑफ टायर्स।
- 2:10:02नेम मॉडल नंबर ऑफ टायर्स। स्टार्ट इंजन
- 2:10:04स्टॉप इंजन स्टार्ट इंजन स्टॉप इंजन। ये
- 2:10:06दो अलग-अलग क्लासेस में चीजें रिपीट हो
- 2:10:08रही हैं। है ना? यहां पे भी कुछ वेरिएबल्स
- 2:10:10जाएंगे इसको डिफाइन करने के लिए। यहां पे
- 2:10:12भी कुछ वेरिएबल्स जाएंगे डिफाइन करने के
- 2:10:13लिए। यहां पे भी कोड जाएगा डिफाइन करने के
- 2:10:15लिए। यहां पे भी कोड लिखना पड़ेगा। मुझे
- 2:10:16फंक्शन लिखना पड़ेगा। तो यानी कि रिपीटेशन
- 2:10:18हो रही है। रिपीटेशन हो रही है। तो क्या
- 2:10:21मैं कुछ ऐसा कर सकता हूं? क्या मैं कुछ
- 2:10:22हिरारकी बना सकता हूं? क्या मैं कोई एक इज़
- 2:10:24अ रिलेशनशिप फॉर्म कर सकता हूं जिसके अंदर
- 2:10:28मैं कुछ ऐसा एक बेस क्लास क्रिएट कर दूं
- 2:10:31जिसको मैं पेरेंट क्लास भी बोल सकता हूं।
- 2:10:33है ना? और सुपर क्लास भी बोल सकता हूं।
- 2:10:34जिसको मैं पेरेंट क्लास बोल देते हैं। अभी
- 2:10:36के लिए एक पेरेंट क्लास बना देते हैं।
- 2:10:37जिसका नाम मैं ले देता हूं व्हीकल।
- 2:10:40और मैं बोलता हूं कि इन दोनों में से कॉमन
- 2:10:42एट्रिब्यूट्स उठाओ और व्हीकल क्लास में
- 2:10:44डाल दो जो दोनों में होने चाहिए। क्यों
- 2:10:46दोनों में होनी चाहिए? तभी इज अ रिलेशनशिप
- 2:10:47बनेगा। तभी मैं बोल सकता हूं कार इज अ
- 2:10:49व्हीकल। है ना? मोटरसाइकिल इज अ व्हीकल।
- 2:10:51तो मैंने बोला नेम यहां रख देते हैं। मॉडल
- 2:10:54यहां रख देते हैं। नंबर ऑफ टायर्स यहां रख
- 2:10:56देते हैं। ठीक है? सिमिलरली स्टार्ट इंजन
- 2:10:59यहां रख देते हैं। स्टॉप इंजन यहां रख
- 2:11:01देते हैं। एंड दैट्स इट। और जाके क्या
- 2:11:04करता हूं? नेम यहां से डिलीट कर देता हूं।
- 2:11:06मॉडल नंबर यहां से हटा देता हूं। है ना?
- 2:11:07और नंबर ऑफ़ टायर्स भी यहां से हटा देता
- 2:11:09हूं। और यहां से भी ये ये सारी चीजें हटा
- 2:11:11देता हूं। नंबर ऑफ़ टायर्स भी हटा देता
- 2:11:12हूं। स्टार्ट इंजन, स्टॉप इंजन भी हटा
- 2:11:14देता हूं। यहां से भी स्टार्ट इंजन स्टॉप
- 2:11:15इंजन हटा देता हूं। अब देखो ध्यान से। अब
- 2:11:17मुझे क्या समझ आता है? अब मुझे ये समझ आ
- 2:11:20रहा है कि क्ला कार के अंदर सिर्फ वो वाले
- 2:11:22एट्रिब्यूट नजर आ रहे हैं जो कार के
- 2:11:24स्पेसिफिक हैं। तो कार के कार एक
- 2:11:26स्पेशलाइज्ड क्लास बन गई कि उसके अंदर वही
- 2:11:28वाले एट्रिब्यूट्स हैं जो कार के
- 2:11:29स्पेसिफिक हैं। ठीक है? सिमिलरली
- 2:11:31मोटरसाइकिल के अंदर वही वाले एट्रिब्यूट्स
- 2:11:33या फिर मुझे बिहेवियर नजर आ रहा है जो कि
- 2:11:35मोटरसाइकिल से स्पेसिफिक हैं। बट दोनों ही
- 2:11:37व्हीकल हैं। दोनों ही व्हीकल हैं। तो इनके
- 2:11:40स्टार्ट इंजन, स्टॉप इंजन, नंबर ऑफ टायर,
- 2:11:42मॉडल, नेम ये सारे मैंने एक सिंगल क्लास
- 2:11:45में लिख दिए। जिससे मेरा फ़ायदा क्या हुआ?
- 2:11:47मुझे यह वेरिएबल रिपीट करने की ज़रूरत नहीं
- 2:11:49पड़ी। मैंने एक ही बार लिख दिए और मेरा काम
- 2:11:51बन गया। ठीक है? ये सारी चीजें हम जब कोड
- 2:11:54करेंगे C++ में जावा में अलग तरीके से
- 2:11:56बहुत अच्छे से समझेंगे। अभी सिर्फ हम
- 2:11:57कॉनंसेप्चुअलाइज़ कर रहे हैं चीजों को। ठीक
- 2:11:59है? तो हम इस काम को करने के लिए हमें
- 2:12:01क्या समझ आता है? कि हम एक बेस क्लास बना
- 2:12:03सकते हैं। है ना? एक जनरलाइज़्ड क्लास बना
- 2:12:05सकते हैं। है ना? और शायद मेरा काम हो
- 2:12:07जाएगा। देखो अब ये ये है मेरे पास क्लास
- 2:12:11डायग्राम। ठीक है? तो ये एक बॉक्स जो होता
- 2:12:13है इसको मैं बोल सकता हूं ये एक क्लास है
- 2:12:16क्लास। ठीक है? अब देखो ध्यान से देखो।
- 2:12:19मैंने बोला व्हीकल क्लास बनाई मैंने। ठीक
- 2:12:21है? और मैंने बोला नेम, मॉडल, नंबर ऑफ
- 2:12:24टायर्स। ठीक है? ये सारे मेरे कॉमन
- 2:12:27एट्रिब्यूट्स थे। स्टार्ट इंजन, स्टॉप
- 2:12:29इंजन। ये भी मेरे कॉमन बिहेवियर थे। इनको
- 2:12:31मैंने व्हीकल क्लास में बना दिया। अब
- 2:12:33मैंने बोला कि जो कार है ना कार कार
- 2:12:37प्रॉपर्टीज डिराइव करती है व्हीकल क्लास
- 2:12:40से। जैसे ही मैंने यह बोला तो मेरे
- 2:12:43कंपाइलर को या फिर मेरे जो भी कंप्यूटर को
- 2:12:46यह समझ आ जाएगा कि यह कार जो है इसकी एक
- 2:12:49सब क्लास है। ये इसकी एक चाइल्ड क्लास है।
- 2:12:52चाइल्ड क्लास का मतलब क्या हो गया? ओके?
- 2:12:53जिस तरीके से जीवन में चिल्ड्रन जो है कुछ
- 2:12:55एट्रिब्यूट्स अपने पेरेंट्स से ले लेते
- 2:12:58हैं। वही एट्रिब्यूट्स मुझे भी यहां से
- 2:13:00लेने होंगे। वो एट्रिब्यूट्स कौन-कौन से
- 2:13:02लेने होते हैं? ठीक है? क्या सारे
- 2:13:04एट्रिब्यूट्स ले सकते हैं। ये सारी बातें
- 2:13:05हम बाद में समझेंगे। अभी मान के चलो कि
- 2:13:07सारे एट्रिब्यूट्स मैं ले लेता हूं। तो
- 2:13:08मैंने उठाया कि नेम, मॉडल, नंबर ऑफ़
- 2:13:10टायर्स, स्टार्ट स्टॉप इंजन। ऑटोमेटिकली
- 2:13:12ना इसके अंदर आ जाएगा। क्या मुझे यहां पे
- 2:13:15दिखेगा? क्या मुझे अलग से लिखना पड़ेगा?
- 2:13:16मैंने कहा नहीं लिखना पड़ेगा। वो अपने आप
- 2:13:18ही आ जाएगा। ठीक है? कोड हमारा समझ जाएगा।
- 2:13:21सिमिलरली मोटरसाइकिल को मैंने बोला कि
- 2:13:23भैया आप ना इन्हेरिट करते हो। आप इन्हेरिट
- 2:13:26करते हो व्हीकल क्लास से। तो व्हीकल के
- 2:13:29जितने भी एट्रिब्यूट्स हैं। अभी मान के
- 2:13:31चलेंगे जितने भी एट्रिब्यूट्स फिर सारे
- 2:13:32नहीं होते। हम डिफाइन कर सकते हैं कौन से
- 2:13:33जाने चाहिए, कौन से नहीं। अभी मान के चलते
- 2:13:35हैं कि जितने भी एट्रिब्यूट्स हैं वो सारे
- 2:13:38मोटरसाइकिल में भी ऑनर होंगे। तो जैसे कि
- 2:13:42मोटरसाइकिल इज अ व्हीकल कार इज अ व्हीकल।
- 2:13:46तो
- 2:13:48इसीलिए मोटरसाइकिल के अंदर भी एक
- 2:13:51प्रॉपर्टी होगी नेम कि मोटरसाइकिल का नाम
- 2:13:53होगा। ठीक है? मोटरसाइकिल के अंदर ही एक
- 2:13:55प्रॉपर्टी होगी मॉडल। उसका कोई मॉडल नंबर
- 2:13:57होगा। उसके अंदर नंबर ऑफ टायर्स भी होंगे।
- 2:14:00सिमिलरली कार के अंदर भी नेम भी होगा।
- 2:14:03मॉडल भी होगा, नंबर ऑफ टायर भी होंगे। ठीक
- 2:14:06है? कार के बिहेवियर और बाइक के बिहेवियर
- 2:14:08दोनों के कॉमन बिहेवियर भी हमने यहां पर
- 2:14:10डाल दिए हैं। यानी कि मोटरसाइकिल के अंदर
- 2:14:12भी स्टार्ट इंजन हो पाता है और कार के
- 2:14:13अंदर भी स्टार्ट इंजन हो पाता है। तो इस
- 2:14:15तरीके से हिरारकी बन जाती है। तब मैं
- 2:14:17बोलता हूं या फिर तब तब मुझे नीड महसूस
- 2:14:20होती है कि मुझे इन्हहेरिटेंस करनी चाहिए।
- 2:14:22अब अलग से मैं कार और मोटरसाइकिल की
- 2:14:24अलग-अलग क्लास बनाता तो मुझे सारे
- 2:14:26वेरिएबल्स जो है ना रिपीट करने पड़ते
- 2:14:27इसमें। ठीक है? रिपीट करने पड़ते। तो इससे
- 2:14:30क्या होता? चीजें रिपीट हो रही हैं। ठीक
- 2:14:32है? और कोड के अंदर जब चीजें रिपीट हो रही
- 2:14:34होती है ना, उसको बहुत बुरा माना जाता है।
- 2:14:36इस इसका एक प्रिंसिपल होता है जो हम आगे
- 2:14:38पढ़ेंगे। ड्राई प्रिंसिपल डू नॉट रिपीट
- 2:14:40योरसेल्फ। जहां भी रीयूजेबिलिटी कर सकता
- 2:14:42हूं चीजों की मैं वहां मैं रीयूजेबिलिटी
- 2:14:45करना चाहूंगा। तो ध्यान से देखो यहां पे
- 2:14:46चीजें रीयूजेबल हो रही हैं। ये सारी जो
- 2:14:48एट्रिब्यूट्स हैं, ये रीयूजेबल हो रही
- 2:14:50हैं। कार में भी रीयूज़ हो पा रहे हैं।
- 2:14:52मोटरसाइकिल में भी रीयूज़ हो पा रहे हैं।
- 2:14:54और मुझे लिखना एक ही बार है। मुझे डिज़ाइन
- 2:14:56एक ही बार करना है। हम एलएलडी के कोर्स
- 2:14:58में हैं। जहां पर मुझे डिज़ाइन सीखना है कि
- 2:15:02मैं कैसे कोड को लिखूं, कैसे सुंदर कोड
- 2:15:04लिखूं, कैसे एफिशिएंट कोड लिखूं, कैसे
- 2:15:05रयूजेबल कोड लिखूं, कैसे एक्सटेंसिबल कोड
- 2:15:08लिखूं। पर भैया यहां पे एक्सटेंसिबिलिटी
- 2:15:10कैसे हो रही है कि मैं एक्सटेंड कैसे कर
- 2:15:11सकता हूं? मतलब समझ नहीं आया। ध्यान से
- 2:15:14देखो। अब मेरे को समझ आता है कि देखो एक
- 2:15:17काम करते हैं। एक और चीज भी तो हो सकती
- 2:15:19है। वो क्या? ट्रक भी तो व्हीकल है। तो
- 2:15:23मेरे कोड में किसी ने बोला कि हम ट्रक भी
- 2:15:24लेके आ रहे हैं। तो ट्रक भी बनाओ फटाफट
- 2:15:26से। ओके? तो क्या करना पड़ेगा मुझे? अगर
- 2:15:29इन्हहेरिटेंस नहीं होती तो मैं एक और ट्रक
- 2:15:31की क्लास बनाता और सारे वेरिएबल्स फिर से
- 2:15:33डिफाइन करता और ट्रक के जो स्पेसिफिक
- 2:15:35स्पेशलाइज़ वेरिएबल्स हैं जो कि सिर्फ ट्रक
- 2:15:37के स्पेसिफिक हैं वो भी लिखता। अब देखो
- 2:15:39कितना कितना ईजीली होगा। मैंने कहा ओके
- 2:15:41अभी कर देता हूं फटाफट से। मैंने एक ट्रक
- 2:15:43बनाया। ठीक है? इसका नाम मैं बोलता हूं
- 2:15:46ट्रक।
- 2:15:48ठीक है? इस तरीके से और नेक्स्ट मुझे क्या
- 2:15:52करना है? मैंने बोला कि आप ना इससे
- 2:15:54इन्हहेरिट करते हो। यानी कि आपके पिताजी
- 2:15:56या फिर आपके पेरेंट भी व्हीकल ही हैं।
- 2:15:59नेक्स्ट नेक्स्ट मुझे क्या बोलना है?
- 2:16:01नेक्स्ट मुझे बोलना है अगर मैंने व्हीकल
- 2:16:04को पेरेंट बना दिया ट्रक का। ठीक है? तो
- 2:16:07मैंने चीजें जनरलाइज़ कर दी हैं। तो
- 2:16:08जनरलाइज़ करने का मतलब क्या है? इज़ अ
- 2:16:10रिलेशनशिप एस्टैब्लिश हो गया है। यानी कि
- 2:16:12ये सारी प्रॉपर्टीज़ तो ऑटोमेटिकली ट्रक
- 2:16:14में आ जाएंगी। इसका मुझे टेंशन ही नहीं
- 2:16:16लेनी। नेक्स्ट। नेक्स्ट मुझे क्या करना
- 2:16:18है? ट्रक के स्पेसिफिक वेरिएबल डिफाइन
- 2:16:20करने पड़ेंगे। ठीक है? तो ये ट्रक था। अब
- 2:16:22ट्रक में सपोज
- 2:16:24बोल देते हैं कि ट्रक के अंदर कोई एक्सेल
- 2:16:26टाइप होता है। ठीक है? एक्सेल टाइप होता
- 2:16:28है अलग से। ठीक है? और क्या बोल सकते हैं?
- 2:16:31ट्रक के अंदर बोल सकते हैं बिग टैंक। बिग
- 2:16:35टैंक टाइप बिग टैंक टाइप कुछ अलग से है
- 2:16:38कुछ। तो इसका मतलब मुझे क्या समझ आता है
- 2:16:40कि मैंने ट्रक क्लास बनाई और वीक क्योंकि
- 2:16:43ट्रक एक व्हीकल था तो व्हीकल की सारी
- 2:16:45प्रॉपर्टीज ट्रक में आ ही जाएंगी। ठीक है?
- 2:16:46इसकी मुझे टेंशन ही नहीं लेनी। अगेन जो
- 2:16:49ट्रक के स्पेसिफिक एट्रिब्यूट्स हैं,
- 2:16:51बिहेवियर हैं वो मैंने अलग से ऐड कर दिए।
- 2:16:53ठीक है? तो कितनी ईजीली मैंने कोड
- 2:16:57एक्सटेंसिबल बना दिया कि अब ट्रक भी आ
- 2:16:59जाए, ट्रक आ जाए, कोई दिक्कत नहीं है। मान
- 2:17:00लो मैं बोल देता हूं कि जेट इज़ अ व्हीकल।
- 2:17:02तो मैं फटाफट जेट जेट की भी क्लास बना
- 2:17:05सकता हूं यहां पे। इसको इससे इनहेरिट करा
- 2:17:06दूंगा। तो ऑटोमेटिकली इन सब की चीजें तो
- 2:17:09यहां पर आ ही जाएंगी। ठीक है? और जेट के
- 2:17:10स्पेसिफिक मैं अलग अपने एट्रिब्यूट्स और
- 2:17:12भी डिफाइन कर। तो मेरा कोड रयूज़बल बन गया।
- 2:17:15ठीक है? है मेरा कोड एक्सटेंसिबल बन गया।
- 2:17:17ईजीली एक्सटेंसिबल हो रहा है। तो ये दो
- 2:17:19इंपॉर्टेंट चीजें इन्हहेरिटेंस अपने साथ
- 2:17:22लेकर आती हैं। ठीक है? ऊब्स के कांसेप्ट
- 2:17:24में। ठीक है? चलो आगे बढ़ते हैं। अब
- 2:17:26नेक्स्ट चीज आती है मोड ऑफ इनहेरिटेंस।
- 2:17:28जैसे कि मैंने कहा था कि क्या ये सारी
- 2:17:30प्रॉपर्टीज इन्हहेरिट हो जाएंगी? क्या ये
- 2:17:32सारी प्रॉपर्टीज इनहेरिट हो जाएंगी? क्या
- 2:17:33ये सारी प्रॉपर्टीज इनहेरिट हो जाएंगी?
- 2:17:35ठीक है? मैंने कहा अब मैंने कहा था कि अभी
- 2:17:37के लिए मान लो हां हो जाएंगी। बस बट मैं
- 2:17:40इसको कंट्रोल भी कर सकता हूं। मैं इसको
- 2:17:41कंट्रोल भी कर सकता हूं। जैसे कि जीवन में
- 2:17:45कुछ प्राइवेट चीजें होती हैं। वह आप किसी
- 2:17:47को नहीं बताते है ना? किसी को नहीं बताते।
- 2:17:49सिमिलरली अगर व्हीकल क्लास के अंदर कोई
- 2:17:51प्राइवेट वेरिएबल है। प्राइवेट वेरिएबल को
- 2:17:53कैसे डिनोट करते हैं हम क्लास डायग्राम के
- 2:17:54टर्म में? जैसे यहां प्लस लिखा है। प्लस
- 2:17:56का मतलब है आपका ये जो प्लस लिखा है। प्लस
- 2:17:58का मतलब है ये सब पब्लिक है। ये सब पब्लिक
- 2:18:01पब्लिक है। पब्लिक पब्लिक एट्रिब्यूट्स
- 2:18:03हैं। तो मैं बोल सकता हूं यहां पर कि प्लस
- 2:18:05इज़ पब्लिक माइनस इज प्राइवेट। और इसको हम
- 2:18:11कहते हैं प्रोटेक्टेड।
- 2:18:13यह प्रोटेक्टेड अभी तक नहीं बताया आपने।
- 2:18:15बताएंगे डोंट वरी। तो मैंने कहा अगर मैं
- 2:18:18एक प्राइवेट वेरिएबल यहां डिफाइन कर दूं।
- 2:18:20ठीक है? माइनस करके व्हीकल के अंदर
- 2:18:22प्राइवेट वेरिएबल क्या बना सकते हैं हम?
- 2:18:26हम बना सकते हैं व्हाट इंसाइड ब्लॉक?
- 2:18:29व्हाट इंसाइड बॉक्स? मान लो व्हीकल के
- 2:18:32अंदर एक प्राइवेट वेरिएबल बना दिया हमने
- 2:18:35कि भाई बॉक्स के अंदर क्या है? ठीक है?
- 2:18:37किसी भी व्हीकल के अंदर कोई ना कोई बॉक्स
- 2:18:39होता है, स्टोरेज होती है। तो स्टोरेज के
- 2:18:40अंदर कुछ पर्सनल चीज रखी हुई है। मान लो
- 2:18:42हमने बना दिया कि उसको बट इंसाइड बॉक्स पर
- 2:18:45ये व्हीकल का एक प्राइवेट मेंबर बना दिया
- 2:18:48मैंने। अब क्योंकि ये प्राइवेट मेंबर है।
- 2:18:50ठीक है? प्राइवेट चीजें रियल लाइफ में
- 2:18:51प्राइवेट ही होती हैं। तो यहां पर भी यह
- 2:18:54चीज प्राइवेट चीज यहां पर इन्हहेरिट नहीं
- 2:18:57होगी। यानी कि जो कार क्लास है, कार क्लास
- 2:19:01है, वह सारे प्राइ पब्लिक मेंबर को तो
- 2:19:04इन्हहेरिट कर पा रहा था। ठीक है? यानी कार
- 2:19:06क्लास के अंदर नेम इनहेरिट हो के आ जाएगा।
- 2:19:08मॉडल इनहेरिट हो के आ जाएगा। नंबर ऑफ़ टायर
- 2:19:10इनहेरिट हो के आ जाएगा। ये तीनों चीजें आ
- 2:19:12जाएंगी। बट बट इनसाइड बॉक्स यह वाला
- 2:19:13वेरिएबल नहीं आएगा। ठीक है? तो प्राइवेट
- 2:19:16चीजें इन्हहेरिट नहीं होती। ठीक है? अब
- 2:19:19इससे मेरी एक प्रॉब्लम स्टेटमेंट अराइज़
- 2:19:20होती है। ये हमें समझ आ गया प्राइवेट वाली
- 2:19:22चीज। ठीक है? एक प्रॉब्लम स्टेटमेंट अराइज़
- 2:19:24होती है कि ऐसा बोल सकते हैं। हम अब देखो
- 2:19:27यहां पर हमारे पास कहीं ना कहीं मेन
- 2:19:29फंक्शन भी होता है। है ना? मेन फंक्शन भी
- 2:19:31होता है। जहां पे मैं कार का कोई वेरिएबल
- 2:19:34बना देता हूं। R का वेरिएबल A ठीक है? A
- 2:19:37वेरिएबल बना दिया। तो जैसे कि मैंने बोला
- 2:19:39इनहेरिटेंस के अंदर A डॉट अगर नेम करूंगा
- 2:19:42मैं। ठीक है? तो A डॉट नेम एक्सेसबल होगा।
- 2:19:45A डॉट नेम विल बी अ प्रॉपर्टी। क्यों?
- 2:19:48भैया कार के अंदर डिफाइंड नहीं है।
- 2:19:49इनहेरिटर्स लगाई है ना आपने। तो
- 2:19:51ऑटोमेटिकली पब्लिक चीजें आ गई हैं। ठीक
- 2:19:53है? तो रयूज़बिलिटी ऑफ़ कोड यहां पे हो गया।
- 2:19:55अब ध्यान से देखो कि मैं एक यहां पर एक
- 2:19:58प्राइवेट मेंबर बनाना चाहता हूं। प्राइवेट
- 2:20:00मेंबर बना दिया मैंने एक। यह है मेरा
- 2:20:02प्राइवेट मेंबर।
- 2:20:05यह है मेरा प्राइवेट मेंबर x
- 2:20:09x yz एक वेरिएबल बना दिया मैंने प्राइवेट
- 2:20:11मेंबर ठीक है अब जैसा कि भैया आपने कहा कि
- 2:20:14प्राइवेट मेंबर प्राइवेट मेंबर तो इनहेरिड
- 2:20:16होंगे ही नहीं ठीक है और ध्यान से देखो जब
- 2:20:19मैं axy z करूंगा ये भी एक्सेसबल नहीं
- 2:20:22होगा क्योंकि प्राइवेट मेंबर तो आए नहीं
- 2:20:24ना ये प्राइवेट मेंबर इस क्लास को तो पता
- 2:20:26ही नहीं है जब पता ही नहीं है तो यहां पर
- 2:20:28ये एक्सेसबल भी नहीं हो पाएंगे मेन के
- 2:20:30अंदर ठीक है अब देखते हैं नेक्स्ट मैं ऐसा
- 2:20:31कुछ करना चाहता हूं कि यहां पे मैं कोई
- 2:20:33ऐसा ऐसा प्राइवेट टाइप का मैंने मेंबर जो
- 2:20:35है यहां पर लिखूं। यहां पर कुछ प्राइवेट
- 2:20:37टाइप का मेंबर बनाऊं और वो ना आपके कार और
- 2:20:41मोटरसाइकिल और ट्रक इन इन चाइल्ड क्लास के
- 2:20:45अंदर इन्हहेरिट भी हो जाए बट मेरे मेन को
- 2:20:48पता ना चले। ठीक है? समझते हैं कैसे?
- 2:20:52अब ध्यान से देखो। अगर मैं कोई एक पब्लिक
- 2:20:53वेरिएबल यहां बनाता हूं जिसका नाम है प्लस
- 2:20:55करके मैंने लिख दिया x yz। ठीक है? और अगर
- 2:20:59मैं एक व्हीकल क्लास बनाऊं हमारी क्लास जो
- 2:21:02क्लास की सिंपल सी अंडरस्टैंडिंग क्या
- 2:21:03कहती है व्हीकल क्लास का एक ऑब्जेक्ट
- 2:21:05बनाया मैंने v और क्योंकि पब्लिक मेंबर है
- 2:21:08और vxyg अगर मैं करूंगा तो ये चल जाएगा
- 2:21:11एक्सेसबल होगा यस और नो बिल्कुल होगा ठीक
- 2:21:14है अब मैं चाहता हूं अब मैं चाहता हूं एक
- 2:21:16ऐसा वेरिएबल जो प्राइवेट हो जो प्राइवेट
- 2:21:19हो ठीक है मैं मेन से एक्सेसबल नहीं कराना
- 2:21:22चाहता तो मैं क्या करूंगा प्राइवेट है x
- 2:21:24वz को मेन से एक्सेस नहीं कराना चाहते तो
- 2:21:26एक काम करते हैं एक एक काम करते हैं। इसको
- 2:21:29मैं प्राइवेट मेंबर बना देता हूं। मैंने
- 2:21:31इसको प्राइवेट बना दिया। अब जैसे ही
- 2:21:33प्राइवेट बनाओगे तो v.xyz करोगे तो मेरी
- 2:21:36प्रॉब्लम स्टेटमेंट सॉल्व हो जाएगी। यहां
- 2:21:38पर मुझे xyz एक्सेबल नहीं होगा। बट ध्यान
- 2:21:40से देखो क्योंकि मैंने प्राइवेट बनाया है
- 2:21:42पर यह इन्हहेरिट भी नहीं होगा। इधर यह
- 2:21:44इन्हहेरिट भी नहीं होगा। कार और
- 2:21:45मोटरसाइकिल में इनहेरिट भी नहीं होगा। x
- 2:21:47वz वेरिएबल। मैं चाहता हूं वो मेन मेन से
- 2:21:49डायरेक्ट एक्सेसिबल ना हो। बट कार और
- 2:21:51मोटरसाइकिल के अंदर इन्हहेरिट हो जाए। अगर
- 2:21:54मेरी ऐसी प्रॉब्लम स्टेटमेंट है तो उस केस
- 2:21:56में मैं प्रोटेक्टेड वेरिएबल बनाता हूं।
- 2:21:58तो अगर मैं इसको प्रोटेक्टेड बना दूंगा जो
- 2:22:00कि इस प्रकार यहां पे क्लास डायग्राम में
- 2:22:02दिखाया जाता है। अगर मैं इसको प्रोटेक्टेड
- 2:22:04बना दूंगा तो यह ना इधर इन्हहेरिट हो
- 2:22:06जाएगा। यह इधर इन्हहेरिट हो जाएगा। इधर भी
- 2:22:08यह प्रोटेक्टेड की तरह इनहेरिट होगा और
- 2:22:10प्रोटेक्टेड जो है मेन के विद रिस्पेक्ट
- 2:22:13अगर मेन की नजर से मैं देखूं तो
- 2:22:15प्रोटेक्टेड प्राइवेट की तरह ही एक्ट करता
- 2:22:17है। ठीक है? कंफ्यूज हो गए। मैंने कहा कि
- 2:22:20मुझे यहां पर xyz एक एक वेरिएबल बनाना है
- 2:22:24जो कि मुझे इन्हहेरिट कराना है इधर। ठीक
- 2:22:26है? यहां पे इन्हहेरिट हो जाना चाहिए। बट
- 2:22:28उसको मैं मेन से एक्सेसबल ना हो। मेन से
- 2:22:31एक्सेस ना कर पाऊं। जब मैं VXYZ करूं
- 2:22:35तो यह नहीं चलना चाहिए। ठीक है? यह नहीं
- 2:22:38चलना चाहिए। बट कार के अंदर कार के अंदर
- 2:22:40ही एक्सेसिबल हो। कार के अंदर मोटरसाइकिल
- 2:22:42के अंदर ये एक्सेसिबल हो। ठीक है? तो मैं
- 2:22:46प्रोटेक्टेड का यूज करता हूं। तो इसका
- 2:22:49मतलब अगर मैंने इसको हैश करके xyz को
- 2:22:51प्रोटेक्टेड बना दिया तो यहां पर एक कॉपी
- 2:22:53आ गई होगी किसकी? xyz की। xyz की। यानी कि
- 2:22:56xyz यहां से एक्सेसिबल होगा। पर यहां भी
- 2:22:58यह प्राइवेट की तरह ही होगा। यहां भी ये
- 2:23:00प्राइवेट की तरह ही होगा। आप अगर कार का
- 2:23:02एक वेरिएबल बनाते हो c ठीक है? और c.xyg
- 2:23:05भी करते हो यह भी नहीं चलेगा। यह भी नहीं
- 2:23:08चलेगा। ये प्रोटेक्टेड की तरह रहेगा। तो
- 2:23:10इसका मतलब इसका मतलब कोई व्हीकल से कोई
- 2:23:15प्राइवेट जैसा मेंबर ठीक है? प्राइवेट
- 2:23:18जैसा मेंबर मैंने प्राइवेट नहीं कहा।
- 2:23:20प्राइवेट तो इन्हहेरिट ही नहीं होता।
- 2:23:21मैंने बोला प्राइवेट जैसा मेंबर मैं
- 2:23:22इन्हहेरिट करना चाहता हूं और वह बेस बेस
- 2:23:25क्लास से चाइल्ड क्लास में इन्हहेरिट हो
- 2:23:26जाएगा और वो प्रोटेक्टेड रहेगा। मतलब मेन
- 2:23:30से एक्सेबल नहीं होगा। वो इन्हहेरिट हो
- 2:23:31जाएगा। तो प्रोटेक्टेड प्रोटेक्ट तो
- 2:23:34प्रोटेक्टेड का सिर्फ सिंपल सा काम है कि
- 2:23:36मेन से एक्सेसबल ना हो बट तब भी इन्हहेरिट
- 2:23:39कर लूं तो प्रोटेक्टेड यूज़ होता है। ठीक
- 2:23:41है? अब क्योंकि यहां पर भी ये प्रोटेक्टेड
- 2:23:42ही होगा। ठीक है? तो भैया मैं C डॉट कार
- 2:23:45का वेरिएबल अगर मैं बनाता हूं एक कार का
- 2:23:47ऑब्जेक्ट C C.xyz भी एक्सेबल नहीं कर
- 2:23:49पाऊंगा तो क्या फायदा? तो क्या फायदा?
- 2:23:52हमने इनकैप्सुलेशन में क्या पढ़ा था कि अगर
- 2:23:54कोई यहां पर कोई प्राइवेट मेंबर हो तो हम
- 2:23:57उससे गेटर सेटर लिख के कर सकते हैं। यहां
- 2:24:00पे मैं उसको गेटर सेटर लिख सकता हूं। यहां
- 2:24:01पे मैं लिख सकता हूं गेट XY Z और सेट X
- 2:24:03YZ। ठीक है? गेट X YZ सेट XYZ लिख दूंगा
- 2:24:06तो मेरा काम हो जाएगा। ठीक है? इतना सा
- 2:24:09काम है। ये सारी चीज़ें एग्जांपल में हम
- 2:24:11समझेंगे आराम से। है ना? तो ज़्यादा लोड मत
- 2:24:13लेना। अभी बस थोड़ा सा कॉन्सप्ट अपने दिमाग
- 2:24:14में डाल लेते हैं। तो नेक्स्ट आता है मोड
- 2:24:16ऑफ़ इनटेंट जिसके लिए हमने प्रोटेक्टेड को
- 2:24:18पढ़ा। ठीक है? तो प्रोटेक्टेड क्या कहता
- 2:24:20है? तो मेंबर डिक्लेअ प्रोटेक्टेड आर असे
- 2:24:22एक्सेसिबल विद इन क्लास इटसेल्फ। यानी कि
- 2:24:24प्रोटेक्टेड है तो विद इन क्लास होगा।
- 2:24:26जैसे कि प्राइवेट विद इन क्लास होता है।
- 2:24:27ऐसे प्रोटेक्टेड विद इन क्लास एक्सेसिबल
- 2:24:28होता है। बट प्राइवेट उसके डिराइव्ड क्लास
- 2:24:31में एक्सेसिबल नहीं होता पर प्रोटेक्टेड
- 2:24:33हो जाता है। ठीक है? है तो मेरी प्रॉब्लम
- 2:24:35स्टेटमेंट अगेन मैं रिपीट करता हूं कि
- 2:24:37प्राइवेट कोई डेटा मेंबर है उसको अगर मुझे
- 2:24:41डिराइव्ड क्लास के अंदर लेकर जाना है तो
- 2:24:43मेरे पास कोई तरीका नहीं है। ठीक है?
- 2:24:45क्योंकि प्राइवेट प्राइवेट होता है। मैं
- 2:24:47चाहता हूं कोई ऐसा तरीका कि वो ना
- 2:24:50प्राइवेट भी रहे विद रिस्पेक्ट टू मेन।
- 2:24:52मेन के रिस्पेक्ट में प्राइवेट भी रहे और
- 2:24:55वो डिराइव्ड क्लास में भी चला जाए। तो मैं
- 2:24:57प्रोटेक्टेड यूज़ करता हूं। सारी चीज़
- 2:24:59एग्जांपल से समझेंगे। बट अभी
- 2:25:00कॉनंसेप्चुअलाइज़ करते हैं। द प्रोटेक्टेड
- 2:25:03एक्सेस मॉडिफायर सर्व्स टू प्राइमरी
- 2:25:06प्रिंसिपल। दो प्राइमरी प्रिंसिपल पहला
- 2:25:07इनकैप्सुलेशन। इनकैप्सुलेशन कैसे? लाइक
- 2:25:09प्राइवेट
- 2:25:11लाइक प्राइवेट एक्सेस मॉडिफायर
- 2:25:12प्रोटेक्टेड प्रोवाइड्स अ लेवल ऑफ़
- 2:25:14इनकैप्सुलेशन। जैसे प्राइवेट क्या करता
- 2:25:16है? इनकैप्सुलेट कर देता है। फिर आप गेटर
- 2:25:18सेटर से कर सकते हो एक्सेस। ठीक है?
- 2:25:20सिमिलरली प्रोटेक्टेड आपने करा है तो आप
- 2:25:22गेटर सेटर से एक्सेसबल कर सकते हो।
- 2:25:24डायरेक्टली एक्सेस नहीं कर सकते विद
- 2:25:25रिस्पेक्ट टू मेन। ठीक है? विद इन क्लास
- 2:25:27तो कर ही सकते हो। ऑब्वियसली। अब
- 2:25:29इन्हहेरिटेंस इनहेरिटेंस अनलाइक प्राइवेट
- 2:25:31जैसे कि प्राइवेट में ऐसा नहीं होता राइट
- 2:25:33कि प्रोटेक्टेड मेंबर कैन बी इनहेरिटेड
- 2:25:35बाय डिराइव्ड क्लास प्रोटेक्टेड मेंबर को
- 2:25:36इनहेरिट मैं कर सकता हूं डिराइव्ड क्लास
- 2:25:38के अंदर दिस मींस सब क्लासेस हैज़ लिमिटेड
- 2:25:40एक्सेस टू दीज़ वेरिएबल अलाउंग देम टू
- 2:25:43बिल्ड अपॉन बेस क्लास फंक्शनैलिटी व्हाइल
- 2:25:46मेंटेनिंग सम लेवल ऑफ़ डेटा इंट्रिटी
- 2:25:48इंटीग्रिटी एंड कंट्रोल यानी कि कि वो
- 2:25:50प्रोटेक्टेड रहेगा। ठीक है? तो वो बिहेव
- 2:25:52प्राइवेट की तरह करेगा विद रिस्पेक्ट टू
- 2:25:54मेन है ना? बाहर ऐसे एक्सेसबल नहीं होगा
- 2:25:56बट डिराइव हो जाएगा। ठीक है? इस इस चीज को
- 2:26:00हम अगेन मैं बोल रहा हूं एग्जांपल
- 2:26:01समझेंगे। तो डोंट वरी। है ना? अभी थोड़ा
- 2:26:03सा स्कोप समझ लेते हैं कि अगर मैं बोल दूं
- 2:26:05कि मेरे पास बेस क्लास है। ठीक है? और बेस
- 2:26:08क्लास के अंदर प्राइवेट मेंबर है। ठीक है?
- 2:26:11और डिराइव्ड क्लास है। डिराइव्ड क्लास के
- 2:26:12अंदर प्राइवेट मोड में मैं इनहेरिटेंस कर
- 2:26:15रहा हूं। ठीक है? अब मोड ऑफ़ इन्हहेरिटेंस
- 2:26:17होता है कि किस तरीके से आप इन्हहेरिट कर
- 2:26:18रहे हो। यह C++ स्पेसिफिक है। C++ के अंदर
- 2:26:22मोड ऑफ इन्हहेरिटेंस आप स्पेसिफाई कर सकते
- 2:26:24हो कि आप जब आप जब सब क्लास बना रहे हो,
- 2:26:28आप जब चाइल्ड क्लास बना रहे हो तो किस मोड
- 2:26:30में इन्हहेरिट कर रहे हो। ठीक है? किस मोड
- 2:26:32में इन्हहेरिट कर रहे हो? तो मोड ऑफ
- 2:26:34इनहेरिटेंस वाली चीज आपकी कहां पर कहां पर
- 2:26:37अप्लाई होती है? C++ के अंदर। जावा के
- 2:26:39अंदर ये चीज नहीं है। ठीक है? तो समझ लेते
- 2:26:41हैं। तो बेस क्लास अगर बेस क्लास के अंदर
- 2:26:43जो प्राइवेट मेंबर्स हैं बेस क्लास के
- 2:26:46अंदर आपने पेनेंट क्लास के अंदर कुछ
- 2:26:48प्राइवेट डेटा मेंबर डाले हुए हैं। ठीक
- 2:26:49है? और आप इन्हहेरिटेंस का आपका मोड है
- 2:26:52प्राइवेट
- 2:26:54तो आप प्राइवेट डेटा को इनहेरिट नहीं कर
- 2:26:56सकते। सिमिलरली इनहेरिटेंस का मोड अगर
- 2:26:58प्रोटेक्टेड हो चाहे पब्लिक हो आप
- 2:27:00इन्हहेरिट नहीं कर सकते। जैसा कि हमने कहा
- 2:27:02था कि बेस क्लास से प्राइवेट मेंबर कभी
- 2:27:04इनहेरिट नहीं होते। अब देखते हैं पब्लिक
- 2:27:06की बात करते हैं। तो अगर बेस क्लास के
- 2:27:08अंदर कुछ पब्लिक वेरिएबल्स हैं। जैसे कि
- 2:27:09ये सारे पब्लिक वेरिएबल्स थे। ये भी सारे
- 2:27:11पब्लिक डेटा मेंबर्स थे। ठीक है? तो
- 2:27:13पब्लिक डेटा मेंबर है और आप डिराइव क्लास
- 2:27:15के अंदर प्राइवेट की तरह इनहेरिट कर रहे
- 2:27:17हो। प्राइवेट मोड में इनहेरिट कर रहे हो।
- 2:27:19तो आपके डिराइव क्लास के अंदर वो प्राइवेट
- 2:27:22बन जाएंगे ऑब्जेक्ट्स। यानी कि जैसे आपने
- 2:27:25नेम लिखा यहां पे मॉडल है। ठीक है? ऐसे
- 2:27:27नंबर ऑफ़ टायर्स हैं। अगेन बोल रहा हूं C++
- 2:27:29स्पेसिफिक है। मोड ऑफ़ इनहेरिटेंस। तो ये
- 2:27:31जो चीजें यहां पर क्या है? यह है पब्लिक।
- 2:27:35यस आपने इसको इन्हहेरिट किया यहां पर तो
- 2:27:37अगर आपने प्राइवेट मोड में इन्हहेरिट किया
- 2:27:40प्राइवेट मोड में तो यह सारे डाटा मेंबर्स
- 2:27:42व्हीकल के अंदर तो पब्लिक थे प्लस प्लस
- 2:27:44प्लस पब्लिक थे बट यहां पर एज ए प्राइवेट
- 2:27:47आ जाएंगे यहां पर एज ए प्राइवेट आ जाएंगे
- 2:27:50ठीक है यहां पे प्राइवेट की तरह उनका ऐसे
- 2:27:52स्कोप हो जाएगा ठीक है सिमिलरली अगर आप
- 2:27:56प्रोटेक्टेड मोड में करोगे तो प्रोटेक्टेड
- 2:27:58की तरह स्कोप हो जाएगा। ठीक है? और डिराइव
- 2:28:00क्लास में अगर पब्लिक की तरह
- 2:28:03पब्लिक मोड की तरह करोगे तो पब्लिक रह
- 2:28:05जाएगा। यानी कि अगर पब्लिक डेटा को जिस
- 2:28:07मोड ऑफ इनहेरिटेंस से लेके आऊंगा वो वो बन
- 2:28:09जाता है। है ना? और प्रोटेक्टेड की बात
- 2:28:12करें कि कोई बेस क्लास के अंदर चीजें
- 2:28:14प्रोटेक्टेड पड़ी हुई हैं तो आप क्या
- 2:28:15करोगे? तो अगर प्रोटेक्टेड है और प्राइवेट
- 2:28:18मोड में कर रहे हो तो प्राइवेट बन जाएंगी।
- 2:28:19प्रोटेक्टेड है, प्रोटेक्टेड मोड में कर
- 2:28:21रहे हो तो प्रोटेक्टेड बन जाएंगी।
- 2:28:22प्रोटेक्टेड है, पब्लिक मोड में कर रहे
- 2:28:24हो, प्रोटेक्टेड बन जाएंगी। पर
- 2:28:25प्रोटेक्टेड है, पब्लिक मोड में कर रहे
- 2:28:26हैं तो प्रोटेक्टेड क्यों बन रही है? तो
- 2:28:28ध्यान से देखो। अगर मैंने कुछ चीज़ यहां
- 2:28:29प्रोटेक्टेड रखी हुई है और यहां मैं इस
- 2:28:32क्लास को कार क्लास को मैं पब्लिक की तरह
- 2:28:34इनहेरिट कर रहा हूं। पब्लिक मोड में
- 2:28:36इन्हहेरिट कर रहा हूं। तो पब्लिक सारे
- 2:28:39डेटा आ जाएंगे और जो प्रोटेक्टेड डेटा है
- 2:28:41ना ये वाला देखो प्राइवेट तो आएगा ही
- 2:28:42नहीं। जो प्रोटेक्टेड डेटा है ये एक्स वाई
- 2:28:44जी यहां पर ये पब्लिक नहीं बनेगा। यहां पर
- 2:28:46आके पब्लिक नहीं बनेगा। देखो हमने यहां
- 2:28:48पब्लिक नहीं बनाया था इसको कि भाई एक्स व
- 2:28:50जी जो था वो बेस क्लास में तो आपका
- 2:28:53प्रोटेक्टेड है। यानी मेन को एक्सेसिबल
- 2:28:55नहीं है। जैसे ही आपने कार क्लास में लेके
- 2:28:57आए उसको पब्लिक बना दिया। ऐसा नहीं होगा।
- 2:28:59आओ वह चीज प्रोटेक्टेड ही रहेगी। ठीक है?
- 2:29:01तो ध्यान से देखो। अगर इसको याद करने का
- 2:29:03सिंपल सा तरीका है कि सबसे
- 2:29:06ज्यादा प्राइवेसी क्या होती है? सबसे
- 2:29:09ज्यादा प्राइवेट क्या है? प्राइवेट मोड।
- 2:29:11ठीक है? तो आप जिस भी मोड में इनहेरिट
- 2:29:13करोगे, ठीक है? वो सबसे ज्यादा हावी ही
- 2:29:15होगा। यानी कि प्राइवेट है। प्राइवेट तो
- 2:29:17चलो होता ही नहीं है। हटा दो। अगर
- 2:29:19प्रोटेक्टेड है और आप पब्लिक मोड में कर
- 2:29:22रहे हो, तो प्रोटेक्टेड पब्लिक में से कौन
- 2:29:24सा ज़्यादा अह प्राइवेसी वाली चीज़ होती है?
- 2:29:27प्रोटेक्टेड तो प्रोटेक्टेड बनेगा। ठीक
- 2:29:29है? ध्यान से देखो। हम इन हम क्लासेस के
- 2:29:31अंदर ऊप्स के अंदर ना बहुत ज़्यादा बात कर
- 2:29:33रहे हैं इस चीज़ की कि हम अह चीज़ों को
- 2:29:35प्राइवेट रखना चाहते हैं। प्राइवेट रखना
- 2:29:36चाहते हैं। इनकैप्सुलेशन हमने पढ़ा था कि
- 2:29:38हम प्राइवेट रखना चाहते हैं। मैं मैं
- 2:29:39चाहता हूं डायरेक्टली एक्सेसबल ना हो।
- 2:29:41किसी तरीके से एक्सेसबल हो। किसी में गेटर
- 2:29:42सेटर से एक्सेस करूं ताकि मैं कुछ और कर
- 2:29:44सकूं बीच में। राइट? पब्लिक की बात करें
- 2:29:47तो पब्लिक है। आपने प्राइवेट मोड में
- 2:29:49इनहेरिट किया तो प्राइवेट बन जाएंगे। अगर
- 2:29:51यहां पे पब्लिक डाटा है जैसे पब्लिक नेम
- 2:29:52मॉडल नंबर ऑफ़ टायर पब्लिक है और आप इसको
- 2:29:54प्राइवेट मोड में इन्हहेरिट करते हो तो यह
- 2:29:56नेम मॉडल नंबर ऑफ़ टायर यहां पे प्राइवेट
- 2:29:59बन जाएंगे। यहां पे प्राइवेट बन जाएंगे।
- 2:30:00जैसे ही यहां पे ये प्राइवेट बनेंगे तो
- 2:30:02मेन के अंदर C डॉट नेम करूंगा मैं तो
- 2:30:05एक्सेसबल नहीं हो पाएगा। ठीक है? ये सारी
- 2:30:08चीजें हम वैसे देखेंगे। जब कोड में करेंगे
- 2:30:10तो ज्यादा अच्छे से समझ आएगा। बट अभी हम
- 2:30:12थोड़ा सा कॉनंसेप्चुअलाइज़ करना चाह रहे हैं
- 2:30:13चीज़ों को। दैट्स इट। तो हमने प्रोटेक्टेड
- 2:30:16समझ लिया। ठीक है? हमने मोड ऑफ़ इनहेरिटेंस
- 2:30:18समझ लिया। अब आते हैं टाइप्स ऑफ
- 2:30:19इन्हहेरिटेंस। ठीक है? कितने टाइप की
- 2:30:21इन्हहेरिटेंस होती है? तो अगर आप देखो अगर
- 2:30:24एक सिंगल लेयर बन रही है कि क्लास ए से
- 2:30:26क्लास B ने इनहेरिट किया है तो उसको हम
- 2:30:28सिंगल इनहेरिटेंस कहते हैं। इस इन केस
- 2:30:30जैसे कि इस एग्जांपल में देखो अगर मैं इन
- 2:30:33दोनों को यहां से हटा दूं। इन दोनों को
- 2:30:35यहां से हटा दूं तो एक मेरी व्हीकल क्लास
- 2:30:37है। उससे मेरी कार क्लास बनी तो इसको मैं
- 2:30:39क्या बोलूंगा? सिंगल इन्हहेरिटेंस। ठीक
- 2:30:42है? सिंपल।
- 2:30:44नेक्स्ट है आपका मल्टीलेवल। मल्टीलेवल में
- 2:30:46क्या होता है? क्लास एक आपने एक क्लास
- 2:30:48बनाई उसको इन्हहेरिट करके एक एक और क्लास
- 2:30:51बनाई क्लास बी फिर उसको इनहेरिट करके
- 2:30:52क्लास सी बनाई तो इसका मतलब मुझे क्या समझ
- 2:30:54आता है ये क्या है ये ये एक बेस क्लास है
- 2:30:58ठीक है यहां पे ग्रैंड पेरेंट है ठीक है
- 2:31:00फिर ये पेरेंट है और ये अगेन चाइल्ड है
- 2:31:02नेक्स्ट हिरार्किकल हिरार्किकल क्या क्या
- 2:31:05होता है कि भाई आपकी एक क्लास आई ठीक है
- 2:31:07उससे आपने दो क्लास बना दी अलग-अलग ठीक है
- 2:31:09तो हमने जो व्हीकल वाला एग्जांपल देखा था
- 2:31:11व्हीकल कार्स ट्रक मोटरसाइकिल वो
- 2:31:13हिरार्किकल इनहेरिटेंस थी नेक्स्ट आता है
- 2:31:15आपका मल्टीपल इनटेंस मल्टीपल मतलब कोई एक
- 2:31:18क्लास आपने चाइल्ड क्लास बनाई है। ठीक है?
- 2:31:20और वो चाइल्ड क्लास दो पेरेंट्स से बनी
- 2:31:22है। दो पेरेंट्स से बनी है। दो पेरेंट
- 2:31:25क्लास से बनी है। ठीक है? ये सारे
- 2:31:26एग्जांपल हम देखेंगे मजे से। है ना? टेंशन
- 2:31:28मत लो। नेक्स्ट आपका है हाइब्रिड।
- 2:31:30हाइब्रिड का मतलब मिला दो। इन इन सब इन ये
- 2:31:33जो आपके बेसिक टाइप्स ऑफ़ इनहेरिटेंस है
- 2:31:35इनमें से किनहीं दो को मिला दोगे तो
- 2:31:37हाइब्रिड बन जाएगा। अब ध्यान से देखो।
- 2:31:39यहां पर इतने पोर्शन में क्या है?
- 2:31:41हिरार्किकल। ठीक है? अगर मैं इतने पोर्शन
- 2:31:43की बात करूं तो यहां क्या है? मल्टी लेवल।
- 2:31:46ठीक है? तो यह हाइब्रिड हो गया। अब टाइप्स
- 2:31:48ऑफ इनहेरिटेंस को हम एक एग्जांपल समझते
- 2:31:50हैं। रियल लाइफ एग्जांपल समझते हैं। यहां
- 2:31:51पर देखो फिर से हमने क्लास डायग्राम
- 2:31:53बनाया। यहां पे जितनी भी हैं ये सब
- 2:31:54क्लासेस मानेंगे हम। है ना? अब समझते हैं।
- 2:31:57अब ध्यान से देखो। अ मेरे पास ये क्या है?
- 2:32:00ये ऑर्गेनाइजेशन स्ट्रक्चर है। यानी कि एक
- 2:32:02कंपनी है। तो कंपनी के अंदर मेरे सबसे बेस
- 2:32:04क्लास मैंने बनाई है एंप्लॉय। ठीक है? अब
- 2:32:07ध्यान से देखो। ये जो एंप्लॉय क्लास है,
- 2:32:09इसके अंदर क्या-क्या मेंबर्स हैं? नेम है,
- 2:32:11एंप्लॉय आईडी है और डिस्प्ले है। ध्यान से
- 2:32:13देखो। डिस्प्ले प्लस लिखा हुआ है। प्लस का
- 2:32:15हमने क्या मतलब बताया था? यह पब्लिक है।
- 2:32:17और यह क्या है? नेम और ईमेल एंप्लई आईडी।
- 2:32:21यह है प्रोटेक्टेड। प्रोटेक्टेड का मतलब
- 2:32:23क्या है? प्रोटेक्टेड का मतलब क्या है? कि
- 2:32:25अगर मैं एंप्लई क्लास का कोई ऑब्जेक्ट
- 2:32:27बनाऊं। एंप्लॉय का ई ऐसे इसका ऑब्जेक्ट
- 2:32:30बनाऊं और मैं लिखूं ई डॉट नेम तो ये
- 2:32:33एक्सेसबल नहीं होगा। ठीक है? यह एक्सेसबल
- 2:32:36नहीं होगा। बट बट यह इतने भी प्राइवेट
- 2:32:39नहीं है कि ये इनके सब क्लासेस इसको
- 2:32:42डिराइव ना कर पाए। तो इसका मतलब नेम और
- 2:32:44एंप्लॉय आईडी क्योंकि यह प्रोटेक्टेड हैं
- 2:32:46तो इसकी जो बेस क्लासेस होंगी, इसकी जो
- 2:32:48चाइल्ड क्लासेस होंगी, ऑब्वियसली चाइल्ड
- 2:32:50क्लासेस तो इनहेरिट करती हैं। तो जो
- 2:32:51चाइल्ड क्लासेस होंगी, इन दोनों मेंबर्स
- 2:32:54को इन्हहेरिट कर पाएंगी। डन? नेक्स्ट
- 2:32:57देखते हैं। अब ध्यान से देखो। यहां पर
- 2:32:59क्या समझ आता है कि मेरी एंप्लई क्लास ना
- 2:33:01सबसे सुपर क्लास बन रही है। ठीक है? सबसे
- 2:33:03सुपर सबसे सुपर है ये। ठीक है? सबसे ऊपर
- 2:33:07है। सब सबकी ग्रैंड ग्रैंड है ये। ठीक है?
- 2:33:10अब देखो सबसे पहले मैं क्या बोल सकता हूं?
- 2:33:12अगर मैं सब कुछ मिटा दूं सिर्फ आप इतने
- 2:33:14इतने रिलेशनशिप को देखो इस रिलेशनशिप को
- 2:33:16देखो यह मुझे क्या समझ आता है एक सिंगल
- 2:33:18इन्हहेरिटेंस है ठीक है एक एंप्लॉय
- 2:33:20एंप्लॉय है ठीक है तो डेवलपर इज़ अ एंप्लॉय
- 2:33:23तो मैंने अपना ये रिलेशनशिप बना दिया और
- 2:33:25मैंने एक डेवलपर क्लास बना दी ठीक है
- 2:33:28जिसके अंदर ध्यान से देखो एक प्रोग्रामिंग
- 2:33:30लैंग्वेज करके प्राइवेट मेंबर है इसका और
- 2:33:33एक शो करके फंक्शन है तो अब ध्यान से देखो
- 2:33:36कि डेवलपर क्योंकि एंप्लई से इन्हहेरिट कर
- 2:33:38रहा है क्योंकि एंप्लई से इन्हहेरिट कर
- 2:33:40रहा है तो नेम और एंप्लई आईडी ऑटोमेटिकली
- 2:33:43इधर आ जाएगी। यस और नो ऑटोमेटिकली इधर
- 2:33:45आएगी। बट ये इधर आकर नेम और एंप्लई इधर
- 2:33:48आकर किस स्कोप में रहेंगी? किस स्कोप में
- 2:33:51रहेंगी? वो कौन डिफाई करेगा? मोड ऑफ
- 2:33:53इनहेरिटेंस जो कि सिर्फ C++s में होता है।
- 2:33:54जावा में नहीं होता। है ना? तो अगर मैं अह
- 2:33:57एंप्लॉय डेवलपर
- 2:34:00के अंदर मैं एंप्लॉय को इन्हहेरिट करूं।
- 2:34:02किस मोड में? प्राइवेट मोड में। प्राइवेट
- 2:34:04मोड में। तो नेम और आईडी जो कि रयूजेबल हो
- 2:34:07के इधर आएंगी। इधर एक्सेसबल होंगी डेवलपर
- 2:34:09के अंदर वह सारी प्राइवेट मोड में होंगी।
- 2:34:12अगर पब्लिक मोड में करता हूं तो इधर
- 2:34:13प्रोटेक्टेड मोड में ही आएंगी। ठीक है?
- 2:34:15अगर प्रोटेक्टेड मोड में करता हूं तो इधर
- 2:34:16भी प्रोटेक्टेड मोड में ही आएंगी। ठीक है?
- 2:34:18कोई भी प्रोटेक्टेड या प्राइवेट डाटा अपने
- 2:34:20आप पब्लिक नहीं होता। ठीक है? तो ये सिंगल
- 2:34:23इनहेरिटेंस हो गई। नेक्स्ट देखते हैं। अ
- 2:34:25मल्टी लेवल समझते हैं। ठीक है? मल्टीलेवल
- 2:34:28मल्टी लेवल में क्या स्ट्रक्चर था? कि ऐसा
- 2:34:29कुछ होना चाहिए। ठीक है? ए क्लास हो। ठीक
- 2:34:32है? उस वो उसकी एक चाइल्ड क्लास हो। तो ये
- 2:34:34फिर उसकी फर्दर चाइल्ड क्लास हो या फिर
- 2:34:36उल्टा बोलें तो एक सी क्लास हो वो डिराइव
- 2:34:39उसका पेरेंट हो बी क्लास उस फर्दर उसका
- 2:34:41पेरेंट हो ए क्लास तो देखें तो ध्यान से
- 2:34:44देखो सीईओ तो मैंने कहा कि एंप्लई क्लास
- 2:34:47है एंप्लॉय क्लास को इन्हहेरिट करके एक
- 2:34:50एग्जीक्यूटिव क्लास बनी है। ठीक है?
- 2:34:52एग्जीक्यूटिव क्या करते हैं? डिसीजन करते
- 2:34:54हैं। है ना? एग्जीक्यूटिव क्लास बना दी
- 2:34:55हमने। और एग्जीक्यूटिव को फर्दर इन्हहेरिट
- 2:34:58करके सीईओ क्लास बनी है। ठीक है? सीईओ
- 2:35:02क्लास बनी है। तो क्या मैं बोल सकता हूं?
- 2:35:04सीईओ इज़ अ एग्जीक्यूटिव और एग्जीक्यूटिव
- 2:35:07इज़ अ एंप्लॉय। तो मल्टीलेवल इनहेरिटेंस हो
- 2:35:09गई। ठीक है? अब ध्यान से देखो। हो सकता है
- 2:35:11आपको ये अभी बहुत ज्यादा स्ट्राइक ना कर
- 2:35:14रहा हो बट ये एक बेसिक आपकी डेफिनेशन आपके
- 2:35:17माइंड में डाल देगा कि ईज़ अ रिलेशनशिप
- 2:35:19जहां भी हो वहां इनहेरिटेंस मुझे करनी है।
- 2:35:21तो जब भी हम बड़े-बड़े लो लेवल डिज़ाइन के
- 2:35:24प्रॉब्लम्स करेंगे तो वहां आपको
- 2:35:25ऑटोमेटिकली समझ आ जाएगा कि कहां ईज़
- 2:35:26रिलेशनशिप बन रहा है और मुझे इन्हहेरिटेंस
- 2:35:28लगानी है। ठीक है? नेक्स्ट
- 2:35:31हिरार्किकल हिरार्किकल में क्या था कि भाई
- 2:35:33एक क्लास होनी चाहिए। ठीक है? उससे
- 2:35:34मल्टीपल क्लास इनहेरिट कर रही हैं। ठीक
- 2:35:36है? तो देखें समझे तो ध्यान से देखो। ये
- 2:35:38जो एंप्लई क्लास है एंप्लई क्लास है। ये
- 2:35:41क्या है? ये हिरार्किकल का तो एग्जांपल है
- 2:35:44भाई। एक क्लास है और इससे मल्टीपल क्लास
- 2:35:46इनहेरिट कर रही हैं। तो मुझे हिरार्किकल
- 2:35:49नजर आ रहा है। ठीक है? नेक्स्ट है मेरा
- 2:35:51मल्टीपल इन्हहेरिटेंस। मल्टीपल का
- 2:35:54इनहेरिटेंस का मतलब है। अब ध्यान से देखो
- 2:35:55ये मल्टीपल इनहेरिटेंस जो होती है ना ये
- 2:35:57जावा में सपोर्टेड नहीं होती। होती है
- 2:35:59डायरेक्टली इनडायरेक्टली इसे हम बनाते हैं
- 2:36:01जबरदस्ती इनडायरेक्टली किसी तरीके से वो
- 2:36:04हम समझेंगे पर C++ में ये सपोर्टेड होती
- 2:36:06है डायरेक्टली ठीक है आगे तो मैंने क्या
- 2:36:09कहा कि क्लास A है क्लास B है तो दो क्लास
- 2:36:13को इनहेरिट करके एक सिंगल क्लास बनानी है
- 2:36:15मुझे तो बनाएं तो दो क्लास को इनहेर करके
- 2:36:17सिंगल क्लास कहां बन रही है ध्यान से देखो
- 2:36:18यहां हो रहा है ये दो क्लास है इसको
- 2:36:20इन्हहेरिट करके एक सिंगल क्लास बन रही है
- 2:36:22ये दो क्लास कौन-कौन सी है समझते हैं मेरे
- 2:36:24पास है प्रोजेक्ट मैनेजर ठीक है इसके अंदर
- 2:36:26कोई प्रोटेक्टेड वेरिएबल है प्रोजेक्ट
- 2:36:28मैनेजर मैनेजर मैनेज्ड टीम है, टीम साइज
- 2:36:31है मेरे पास और ठीक है? मैनेज प्रोजेक्ट
- 2:36:34है, लीड है। ठीक है? तो ध्यान से देखो।
- 2:36:36मैंने कहा कि टेक लीड जो है एक प्रोजेक्ट
- 2:36:38मैनेजर भी है और टेक लीड जो है वो एक टीम
- 2:36:41लीड भी है। ठीक है? तो टेक लीड के दो
- 2:36:43फंक्शनंस हैं। यानी दो तरीके के उसके
- 2:36:46एंटिटी रिप्रेजेंटेशन है कि टेक लीड जो है
- 2:36:49एक प्रोजेक्ट मैनेजर भी होता है। यानी
- 2:36:50किसी प्रोजेक्ट को मैनेज भी कर रहा है वो।
- 2:36:52है ना? और टेक लीड जो है वह एक टीम लीड भी
- 2:36:54होता है। किसी टीम को लीड भी कर रहा है।
- 2:36:55अगर कोई प्रोजेक्ट मैनेजर भी होगा और टीम
- 2:36:57लीड भी होगा तो उसको मैं टेक लीड बोल
- 2:36:59दूंगा। तो यहां मुझे समझ आ रहा है कि ये
- 2:37:01क्या है? ये कौन सी इनहेरिटेंस है?
- 2:37:02मल्टीपल इनहेरिटेंस है। अब नेक्स्ट है
- 2:37:04हाइब्रिड। तो हाइब्रिड तो यहां मुझे बहुत
- 2:37:05सारी नजर आ रही हैं। ठीक है? अब ध्यान से
- 2:37:07देखो कि अगर मैं इसको बोलूं कि इस पूरे को
- 2:37:09बोलूं। ठीक है? तो यहां पे सिंगल
- 2:37:11इनहेरिटेंस है। यहां पे मल्टी लेवल
- 2:37:12इनहेरिटेंस है। ठीक है? अगर मैं इसको
- 2:37:14बोलूं इतने पोर्शन को इतने पोर्शन को तो
- 2:37:18यहां मुझे क्या समझ आ रहा है? यहां मुझे
- 2:37:19क्या समझ आ रहा है कि मेरे पास
- 2:37:23एक हिरार्किकल है। यह हिरार्किकल बन रही
- 2:37:25है यहां पर। यह क्या है? हिरार्किकल। ठीक
- 2:37:27है? और नेक्स्ट यह क्या है? मल्टीपल। यह
- 2:37:31मल्टीपल है। ऐसे ही स्ट्रक्चर बन रहा था
- 2:37:32कि इतना पोर्शन ये हिरार्किकल था। ठीक है?
- 2:37:35और इतना पोर्शन क्या था? इतना पोर्शन क्या
- 2:37:37था? मल्टीपल था। ठीक है? और यह भी बोल
- 2:37:39सकता हूं कि इतना पोर्शन क्या था? मल्टी
- 2:37:42लेवल था। ठीक है? तो ऐसे ही यहां पर है कि
- 2:37:45भाई ये जो पूरा है इसके अंदर अगर आप देखो
- 2:37:47ध्यान से, तो जो इतना पोर्शन है, इतना
- 2:37:49पोर्शन क्या है? हिरारकिकल। ठीक है?
- 2:37:51नेक्स्ट इतना पोर्शन क्या है? यह है
- 2:37:53मल्टीपल
- 2:37:55मल्टीपल इनहेरिटेंस। ठीक है? अगेन इतना
- 2:37:58पोर्शन क्या है? यह मल्टी लेवल है। मल्टी
- 2:38:01लेवल। ठीक है? तो ये था आपका टाइप्स ऑफ
- 2:38:04इन्हहेरिटेंस। अब ध्यान से देखते हैं कि
- 2:38:07इन्हहेरिटेंस जो अभी हमने की है, जो भी हम
- 2:38:09एक जनरलाइजेशन कर रहे हैं, स्पेशलाइजेशन
- 2:38:11कर रहे हैं। है ना? जनरलाइजेशन में क्या
- 2:38:13कर रहा था मैं कि मोटरसाइकिल और ट्रक इनको
- 2:38:16मिलाकर मैंने बोल दिया कि जनरलाइज्ड टर्म
- 2:38:17है इसकी कि इसको व्हीकल बोल सकते हैं।
- 2:38:19इनकी सारी कॉमन प्रॉपर्टीज व्हीकल में डाल
- 2:38:21दूंगा। स्पेशलाइजेशन का मतलब कि जो व्हीकल
- 2:38:23है अगर मैं अगर मैं टॉप टू बॉटम सोचूं तो
- 2:38:26मैं स्पेशलाइजेशन कर रहा हूं कि व्हीकल है
- 2:38:28मेरे पास व्हीकल है और व्हीकल से मैं
- 2:38:30स्पेशलाइज़ कर रहा हूं कि एक स्पेशलाइज़
- 2:38:32व्हीकल है कार, एक स्पेशलाइज़ व्हीकल है
- 2:38:34मोटरसाइकिल, एक स्पेशलाइज़ व्हीकल है ट्रक।
- 2:38:35ठीक है?
- 2:38:38तो अब समझते हैं कि एडवांटेजेस क्या है?
- 2:38:40ठीक है? क्या एडवांटेज है? सबसे पहले
- 2:38:41एडवांटेज सबसे इंपॉर्टेंट एडवांटेज जो है
- 2:38:43वो है रीयूजेबिलिटी। कॉमन कोड को उठाकर एक
- 2:38:46जगह पर डाल दिया। तो इससे क्या होता है?
- 2:38:48अवॉयड होते हैं डुप्लीकेटिंग मेथड्स और
- 2:38:51एट्रिब्यूट्स इन चाइल्ड क्लासेस। तो
- 2:38:53चाइल्ड क्लासेस के अंदर मुझे खुद से
- 2:38:55एक्स्ट्रा एक्स्ट्रा लिखने नहीं पड़ रहे।
- 2:38:56मुझे इन्हहेरिटेंस के रिलेशनशिप डिफाइन
- 2:38:58करना है। वो अपने आप ही वो अपने आप ही कोड
- 2:39:01ले आएगा। ठीक है? अपने आप ही क्या मोड ऑफ
- 2:39:03इनहेरिटेंस है? इन सब चीजों को समझते हुए
- 2:39:05अपने आप ही वह वेरिएबल्स चाइल्ड क्लासेस
- 2:39:07के अंदर एक्सेसबल हो जाएंगे। ठीक है?
- 2:39:11नेक्स्ट है कोड मॉडिफिकेशंस। ठीक है? अब
- 2:39:14देखो लोकलाइज़ चेंजिंग प्रिवेंटिंग
- 2:39:16इनकंसिस्टेंसी थ्रू आउट द प्रोग्राम। यानी
- 2:39:20चेंजज़ ना बहुत लोकलाइज़्ड होंगे। कैसे? हम
- 2:39:22अपने इस एग्जांपल को समझते हैं। अब ध्यान
- 2:39:24से देखो। अगर मुझे मोटरसाइकिल के अंदर
- 2:39:26क्लास के अंदर कुछ चेंज करना है, तो मैं
- 2:39:28उठा के ना मोटरसाइकिल के अंदर चेंज कर
- 2:39:30दूंगा। मोटरसाइकिल। तो, इससे कार इफ़ेक्ट
- 2:39:33नहीं हुई, ट्रक इफ़ेक्ट नहीं हुई। चीज़ें
- 2:39:35मॉड्यूलर हो गई हैं। ठीक है? ट्रक अलग सोच
- 2:39:37सकते हैं। ठीक है? कार अलग सोच सकते हैं।
- 2:39:40मोटरसाइकिल अलग। अगेन अगर मुझे मान लो इन
- 2:39:43सब के अंदर इन सब क्लासेस के अंदर कोई एक
- 2:39:45वेरिएबल ऐड करना है। उस वेरिएबल का नाम है
- 2:39:47ओके। सपोज़ ओके एक वेरिएबल ऐड करना है इन
- 2:39:49सब क्लासेस के अंदर। तो सब में जाके ओके।
- 2:39:51सब में जाके ओके नहीं लिखना मुझे। मुझे
- 2:39:53उठाकर यहां पे एक वेरिएबल ऐड कर देना है।
- 2:39:55ओके? वो सब में ऐड हो जाएगा ऑटोमेटिकली।
- 2:39:57क्योंकि इनहेरिट गंस का रिलेशनशिप बना हुआ
- 2:40:00है। ठीक है? तो कोड मॉडिफिकेशन मेरी बहुत
- 2:40:02ज्यादा ईजी हो गई हैं। है ना?
- 2:40:04एक्सटेंसिबिलिटी हमने देखा कि कार और
- 2:40:07मोटरसाइकिल था जो व्हीकल था मार्केट में
- 2:40:09आया कि हमने ट्रक भी बना देते हैं। तो
- 2:40:11ट्रक क्लास मैंने बनाया उसको इनहेरिट कर
- 2:40:12दिया और मेरी कोड मॉडिफिकेशन या
- 2:40:14एक्सटेंसिबिलिटी दोनों इजी हो गई। ठीक है?
- 2:40:17डेटा हेडिंग सपोर्ट इनकैप्सुलेशन बाय
- 2:40:19कीपिंग सम डेटा प्राइवेट इन बेस क्लास
- 2:40:21प्रिवेंटिंग अल्टरेशन बाय डिराइव्ड क्लास।
- 2:40:24ठीक है? अब एक और एक्स्ट्रा पॉइंट है कि
- 2:40:26अगर मैं चाहता हूं कि कि बेस क्लास के
- 2:40:28अंदर कोई ऐसा मेंबर है वह प्राइवेट रहे तो
- 2:40:31उसको मैं प्राइवेट कर सकता हूं। नेगेटिव
- 2:40:33करके मैंने ओके वेरिएबल बनाया। उसको
- 2:40:34प्राइवेट बनाया तो प्राइवेट बना रहेगा और
- 2:40:37आपका कार मोटरसाइकिल ट्रक में इन्हहेरिट
- 2:40:39नहीं होगा। तो सम काइंड ऑफ़ एनकैप्सुलेशन
- 2:40:41डेटा हेडिंग यहां पे हो रही है। ठीक है?
- 2:40:44तो ये थे कुछ एडवांटेजेस बहुत इंपॉर्टेंट
- 2:40:46एडवांटेजेस किसकी? इन्हहेरिटेंस की। ठीक
- 2:40:49है? तो इन्हहेरिटेंस बहुत बड़ा काम करता है
- 2:40:51ऊप्स के अंदर। इनकैप्सुलेशन के बाद ऊप्स
- 2:40:54का बहुत एक बहुत ही स्ट्रांग पिलर है
- 2:40:56इन्हहेरिटेंस। ठीक है? तो रयूजेबिलिटी हो
- 2:40:58गया, कोड मॉडिफिकेशन हो गया,
- 2:41:00एक्सटेंसिबिलिटी हो गया, डेटा हेडिंग हो
- 2:41:02गया। ये सारी एडवांटेजेस मेरे पास होती
- 2:41:05हैं। ठीक है? आगे वीडियो में हम इन सारी
- 2:41:08चीजों को एक बार फटाफट से इंप्लीमेंट करके
- 2:41:10देखेंगे और हम और अच्छे से समझेंगे।
- 2:41:13एक्चुअली जो भी बातें या जो भी
- 2:41:15कॉनंसेप्चुअलाइजेशन हमने इस वीडियो में
- 2:41:16करी है उसको कोड में कैसे करते हैं। ठीक
- 2:41:19है? तो मिलते हैं नेक्स्ट वीडियो में। तब
- 2:41:20तक के लिए गुड बाय। इस वीडियो में सीखने
- 2:41:22वाले हैं हाउ कैन वी इंप्लीमेंट
- 2:41:23इन्हहेरिटेंस इन C++। ठीक है? ठीक है? तो
- 2:41:26लास्ट वीडियो हमने समझा था इन्हहेरिटेंस
- 2:41:27होता क्या है? एक इज़ अ रिलेशनशिप होता है।
- 2:41:30ठीक है? आप जनरलाइज़ कर देते हो। जितने भी
- 2:41:32कॉमन एट्रिब्यूट्स ऑफ़ बिहेवियर होते हैं
- 2:41:34वो आपके बेस क्लास में होते हैं। डिराइव्ड
- 2:41:36क्लास उनको इन्हहेरिट कर रही होती है। तो
- 2:41:38ऑटोमेटिकली जो जो बेस क्लास के अंदर
- 2:41:40प्रॉपर्टीज होती हैं या फिर आपके बिहेवियर
- 2:41:43होते हैं वो ऑटोमेटिकली आपके चाइल्ड क्लास
- 2:41:46में आ जाते हैं। बट सारे भी नहीं आते। हम
- 2:41:49कुछ अह कुछ एट्रिब्यूट्स को रोक भी सकते
- 2:41:51हैं या फिर हम एक स्कोप डिफ़ाइन कर सकते
- 2:41:53हैं कि किनको इन्हेरिट करना है, किनको
- 2:41:55इनहेरिट नहीं करना है या किनको इन्हहेरिट
- 2:41:57करना है तो किस मोड में इन्हहेरिट करना
- 2:41:58है। मोड ऑफ़ इनहेरिट में हमने पढ़ा था। ठीक
- 2:42:00है? ये सारी चीजें हमने पढ़ी थी।
- 2:42:01कॉन्सेप्चुअलाइज़ की थी। अब एकदम कोड करके
- 2:42:04देखते हैं। क्योंकि कोड करके हमें
- 2:42:05एक्चुअली ये चीज़ सही में समझ आएंगी। ठीक
- 2:42:07है? तो समझते हैं। उससे पहले एक छोटा सा
- 2:42:11सिंटेक्स समझने की कोशिश करते हैं कि हम
- 2:42:12किस तरीके से इन्हहेरिटेंस इंप्लीमेंट
- 2:42:14करते हैं। तो ध्यान से देखो। बेस क्लास
- 2:42:17किस तरीके से इंप्लीमेंट होती है? बेस
- 2:42:18क्लास तो आपकी नॉर्मल जैसे आप क्लास
- 2:42:20इंप्लीमेंट करते हो ऐसे इंप्लीमेंट हो
- 2:42:22जाती है। है ना? क्लास हमें इंप्लीमेंट
- 2:42:23करनी आती है। अब समझते हैं डिराइव्ड क्लास
- 2:42:26कैसे बनाते हैं? ठीक है? कैसे चाइल्ड
- 2:42:27क्लास बनाते हैं? तो चाइल्ड क्लास अगर
- 2:42:29देखोगे तो यहां सबसे पहले हमें क्लास
- 2:42:31लिखना है। ठीक है? क्लास कीवर्ड यूज़ करना
- 2:42:33है। फिर आप चाइल्ड क्लास का आइडेंटिफायर
- 2:42:36लिखोगे। यानी उसका नाम लिखोगे। जो भी नाम
- 2:42:37है आपने लिखा है। सपोज़ कार लिखा है, बाइक
- 2:42:39व्हाटएवर। फिर आप एक कॉलन लगाओगे। ठीक है?
- 2:42:44उसके बाद आप एक्सेस स्पेसिफायर लिखोगे।
- 2:42:47एक्सेस स्पेसिफाई या एक्सेस मॉडिफायर
- 2:42:48व्हाटएवर यू कैन कॉल इट। यानी कि आप
- 2:42:50लिखोगे प्राइवेट मोड में इन्हहेरिट कर रहे
- 2:42:52हो या पब्लिक मोड में इन्हहेरिट कर रहे हो
- 2:42:54या फिर प्रोटेक्टेड मोड में इनहेरिट कर
- 2:42:57रहे हो। ठीक है? तो जिस मोड में इन्हहेरिट
- 2:42:59करते हो। ठीक है? उसी तरीके से हमने
- 2:43:02टाइप्स मोड ऑफ इनहेरिटेंस के अंदर टेबल
- 2:43:04में पढ़ा था कि किस तरीके से आपके जो बेस
- 2:43:07क्लास के जितने भी आपके एट्रिब्यूट्स हैं,
- 2:43:10वह आपके चाइल्ड क्लास में किस स्कोप में
- 2:43:12इन्हहेरिट होंगे। राइट? फिर आपको लिखना है
- 2:43:15बेस क्लास का नाम कि किससे इन्हहेरिट कर
- 2:43:17रहे हो यानी कि क्या बना रहे हो यानी कि
- 2:43:20चाइल्ड क्लास। ठीक है? और किससे बना रहे
- 2:43:22हो यानी कि पेरेंट क्लास और किस मोड में
- 2:43:25बना रहे हो वो है आपका एक्सेस स्पेसिफायर।
- 2:43:28यहां पे आपको लिखना पड़ेगा। ठीक है? अगेन
- 2:43:30दोबारा से रिपीट करता हूं। मोड ऑफ
- 2:43:32इनहेरिटेंस में हमने पढ़ा था कि आपके जो
- 2:43:34बेस क्लास के जितने भी आपके एट्रिब्यूट्स
- 2:43:37हैं या फिर बिहेवियर्स हैं जितने भी
- 2:43:39एट्रिब्यूट्स और बिहेवियर हैं जब आप उनको
- 2:43:41इन्हहेरिट करके चाइल्ड क्लास में लेके
- 2:43:43आओगे तो किस मोड में रखोगे? मोड ऑफ
- 2:43:45इन्हहेरिटेंस का टेबल जो मैं दिखा देता
- 2:43:46हूं आपको फिर से।
- 2:43:49इस प्रकार का कुछ टेबल था। ठीक है? बेस
- 2:43:51क्लास के जो प्राइवेट मेंबर्स हैं अगर
- 2:43:53आपका मोड ऑफ़ इनहेरिटेंस कुछ भी होता है तो
- 2:43:55इन्हहेरिट नहीं होते। अगर बेस क्लास के
- 2:43:58प्रोटेक्टेड जो मेंबर्स हैं वो सब अगर
- 2:43:59प्राइवेट मोड में करते हो तो प्राइवेट की
- 2:44:01तरह आते हैं। प्रोटेक्टेड मोड में करते हो
- 2:44:03तो प्रोटेक्टेड की तरह आते हैं। पब्लिक
- 2:44:04मोड में करते हो तो भी प्रोटेक्टेड की तरह
- 2:44:06आते हैं। ठीक है? और बेस क्लास के जितने
- 2:44:08पब्लिक मेंबर्स हैं वो कैसे आते हैं?
- 2:44:10प्राइवेट मोड में करोगे तो प्राइवेट मेंबर
- 2:44:11की तरह आएंगे। पब्लिक मोड में करोगे
- 2:44:13प्रोटेक्टेड। प्रोटेक्टेड मोड में करोगे
- 2:44:15प्रोटेक्टेड की तरह आएंगे। पब्लिक मोड में
- 2:44:17करोगे पब्लिक की तरह आएंगे। ठीक है? इन
- 2:44:18सबको हम करके देखेंगे। ठीक है? समझ के
- 2:44:20देखेंगे। फटाफट से हमने सिंटेक्स समझ
- 2:44:23लिया। है ना? नेक्स्ट अगर आप इसमें देखोगे
- 2:44:26तो अगर बेस क्लास कुछ इस प्रकार नजर आ रही
- 2:44:28है मुझे तो डिराइव्ड क्लास मैं लिखूंगा
- 2:44:30यहां पर। फिर अब मैं लिखूंगा कि किस मोड
- 2:44:31में इन्हहेरिट कर रहा हूं पब्लिक। फिर
- 2:44:33उसके बाद बेस क्लास का नाम लिख दूंगा। तो
- 2:44:35मुझे इस प्रकार लिखना है। ठीक है? तो ये
- 2:44:37चीज़ तो हमें समझ आ गई। ठीक है? अब इस चीज़
- 2:44:39को एक बार एग्जांपल की तरह समझते हैं। है
- 2:44:41ना? अगर एग्जांपल देखो तो हमने व्हीकल,
- 2:44:43कार और मोटरसाइकिल वाला एग्जांपल लिया था।
- 2:44:45इस इज़ अ रिलेशनशिप का एग्जांपल लिया था।
- 2:44:47फटाफट से इसको कोड करने की कोशिश करते
- 2:44:49हैं। ठीक है? तो अगर मैं स्क्रीन पर आऊं
- 2:44:52तो स्क्रीन पर कुछ मेरे पास एक ये बेसिक
- 2:44:54टेंपल्लेट पड़ा हुआ है C++ प्रोग्राम का।
- 2:44:56तो मुझे क्या करना है? ठीक है? मुझे क्या
- 2:44:58करना है? देखो
- 2:45:00सबसे पहली चीज जो मुझे समझ आती है वो ये
- 2:45:02है कि मुझे एक बेस क्लास बनानी है। ठीक
- 2:45:04है? इस प्रकार की एक बेस क्लास है जिसके
- 2:45:06अंदर ये सारे एट्रिब्यूट्स हैं। है ना? तो
- 2:45:08फटाफट से एक बेस क्लास बनाते हैं। मैंने
- 2:45:09बोला क्लास है मेरी
- 2:45:13व्हीकल। ठीक है? व्हीकल नाम की क्लास बना
- 2:45:16दी मैंने। और सिंटेक्स क्या होता है? इस
- 2:45:19प्रकार मैं क्लास बनाता हूं। है ना? और
- 2:45:21उसके बाद मैं यहां पे लिखूंगा नेम। मैंने
- 2:45:25बोला एक स्ट्रिंग है मेरी नेम नाम की। ठीक
- 2:45:27है? अगेन एक स्ट्रिंग है मेरी मॉडल नाम
- 2:45:29की। ठीक है? अगेन मैंने एक इंटिजर ले लिया
- 2:45:33नंबर ऑफ टायर्स।
- 2:45:37ठीक है? डन। अभी मैंने कोई ऐसे स्पेसिफायर
- 2:45:40यहां पे मेंशन नहीं किया है। तो बाय
- 2:45:42डिफ़ॉल्ट सब कुछ प्राइवेट रहता है। यस। यस
- 2:45:44और नो। ठीक है? नेक्स्ट मैं कुछ पब्लिक
- 2:45:46मेथड्स डिफाइन करता हूं। पब्लिक मेथड क्या
- 2:45:48थे मेरे पास? एक तो स्टार्ट इंजन था, एक
- 2:45:51स्टॉप इंजन था। तो मैं लिखता हूं फटाफट
- 2:45:52से। मैंने बोला वॉइड
- 2:45:55स्टार्ट इंजन।
- 2:45:59ठीक है?
- 2:46:00इसमें हम सी आउट कर देते हैं।
- 2:46:04इंजन इज
- 2:46:07स्टार्टिंग।
- 2:46:09ठीक है? साथ में हम नेम लिख देंगे। कौन सा
- 2:46:11नेम है। ठीक है? और एक स्पेस डाल के मैं
- 2:46:14मॉडल नंबर भी लिख देता हूं कि भ कौन सा
- 2:46:15मॉडल की बात हो रही है। ठीक है? ये हमने
- 2:46:18कर दिया इतना काम। तो ये तो हो गई मेरी
- 2:46:20बेस क्लास। सिमिलरली मुझे मेरे पास एक और
- 2:46:22मेथड था कि स्टार्ट इंजन था। सिमिलरली
- 2:46:24मेरे पास एक स्टॉप इंजन था। तो स्टॉप इंजन
- 2:46:27भी बना देते हैं। तो इंजन इज़ स्टॉपिंग। तो
- 2:46:31मैंने स्टार्ट इंजन स्टॉप इंजन बना दिया।
- 2:46:33और ध्यान से देखो। यहां पर जो है सब
- 2:46:35प्राइवेट मेंबर हैं। अभी। ठीक है? सब कुछ
- 2:46:36प्राइवेट है। अभी या मैं एक्सपेसिटली लिख
- 2:46:39भी सकता हूं। ये प्राइवेट है। डन है? तो
- 2:46:41अब मुझे एक चाइल्ड क्लास बनानी है। चाइल्ड
- 2:46:43क्लास सबसे पहले कार बनाते हैं। ठीक है?
- 2:46:44तो मैंने क्लास बनाई क्लास कार। अब मुझे
- 2:46:47समझ आता है कार और व्हीकल का तो एक इज़
- 2:46:49रिलेशनशिप बन रहा है। तो मैं कार के
- 2:46:52एट्रिब्यूट्स जो हैं वो मैं अलग से डिफाइन
- 2:46:55करूंगा। साथ ही साथ व्हीकल के
- 2:46:56एट्रिब्यूट्स उठा लेता हूं ताकि मुझे कोड
- 2:46:58दोबारा से ना लिखना पड़े। मैं रीयूज़ कर
- 2:47:00लूं। तो मैंने बोला कार। ठीक है? तो
- 2:47:02नेक्स्ट मुझे क्या बताना है? मुझे बताना
- 2:47:04होता है एक्स स्पेसिफायर कि किस मोड में
- 2:47:06इन्हहेरिट कर रहे हो? तो मैं बोल देता हूं
- 2:47:08अभी पब्लिक मोड में इनहेरिट कर रहे हैं
- 2:47:09हम। है ना?
- 2:47:11नेक्स्ट पब्लिक मोड में इनहेरिट करने के
- 2:47:13बाद आपको लिखना होता है बेस क्लास का नाम।
- 2:47:15तो बेस क्लास का नाम क्या है मेरे पास
- 2:47:16यहां? व्हीकल। व्हीकल ये इन्हहेरिट कर
- 2:47:19लिया मैंने।
- 2:47:21डन है। इतना काम हो गया मेरा।
- 2:47:24अब मुझे बोलना है कि इसके अंदर कार की
- 2:47:26क्या स्पेसिफिकेशंस हैं? तो मैंने बोला
- 2:47:28प्राइवेट मेंबर्स लिख देते हैं। यहां पे
- 2:47:30कार की स्पेसिफिकेशन क्या थी? या पब्लिक
- 2:47:32लिख देते हैं। चलो
- 2:47:34पब्लिक मेंबर्स लिख देते हैं। कार की
- 2:47:36स्पेसिफिकेशन जो कार की खुद की स्पेशलाइज
- 2:47:38स्पेसिफिकेशंस थी वह क्या थी? एक तो नंबर
- 2:47:41ऑफ डोर होता है कार के अंदर। नंबर ऑफ
- 2:47:44डोर्स। ठीक है? साथ ही साथ ट्रांसमिशन
- 2:47:47टाइप भी होता है। ठीक है? ट्रांसमिशन टाइप
- 2:47:49को मैं एक स्ट्रिंग ले देता हूं।
- 2:47:53डन। इतना काम मेरा हो गया। नेक्स्ट मुझे
- 2:47:56एक मेथड भी लिखना होता है कि आपकी कार के
- 2:48:00अलग क्या बिहेवियर होता है। कार जो है
- 2:48:02उसके अंदर एक स्टार्ट इंजन नाम का फंक्शन
- 2:48:04होता है। तो मैंने बोला एक ले लेते हैं हम
- 2:48:06स्टार्ट इंजन।
- 2:48:10स्टार्ट इंजन नहीं स्टार्ट एसी। स्टार्ट
- 2:48:12एसी स्टार्ट एसी था ना अलग से। स्टार्ट
- 2:48:15इंजन तो हम खुद ही से ऊपर से इनहेरिट कर
- 2:48:17लेंगे। ओके।
- 2:48:20अब यहां पे लिख देते हैं हम सी आउट। और
- 2:48:23यहां मैं लिख दूंगा एक काम करते हैं। अब
- 2:48:25इन सबको पब्लिक बना देते हैं। इनको भी
- 2:48:27पब्लिक बना देते हैं अभी के लिए। अब ध्यान
- 2:48:30से देखना। अब ध्यान से देखना। यहां पर
- 2:48:33मुझे लिखना है मैं जब इंजन मैं एसी
- 2:48:35स्टार्ट करने वाला हूं तो मैं बोलना चाहता
- 2:48:36हूं कि मैंने एसी स्टार्ट कर दिया है ऑफ
- 2:48:39दैट पर्टिकुलर कार। ठीक है? उसका नाम
- 2:48:42लिखूंगा और उसका मॉडल और नंबर ऑफ टायर भी
- 2:48:44बताना चाहता हूं मैं। तो ध्यान से देखना।
- 2:48:47मैं लिखूंगा कि AC हैज़ स्टार्टेड ऑफ
- 2:48:57कार का नाम। ठीक है?
- 2:49:00सिंपल एंडल कर दिया मैंने। अब ध्यान से
- 2:49:03देखो। क्या आपको यहां पे नजर आ रहा है कि
- 2:49:05नेम जो वेरिएबल है, क्या हमने इसका डेटा
- 2:49:08मेंबर बनाया नेम को? नेम को हमने बनाया ही
- 2:49:10नहीं है। नेम तो है ही नहीं। नेम तो आपका
- 2:49:12व्हीकल का पार्ट था। यस और नो। बट ये चल
- 2:49:15क्यों रहा है? ध्यान से देखो। हमने बोला
- 2:49:17है कि व्हीकल आप ना मेरे पेरेंट हो। तो
- 2:49:20आपकी जितनी प्रॉपर्टीज है ना जितनी
- 2:49:22प्रॉपर्टीज हैं उसको मैं इन्हहेरिट करना
- 2:49:24चाहता हूं। ठीक है? और मैंने पब्लिक मोड
- 2:49:27में चीजें इन्हहेरिट करी हैं। ठीक है? तो
- 2:49:29यहां पे इसलिए नेम आपका एक्सेसिबल हो रहा
- 2:49:31है। ठीक है? तो नेम यहां पे दिख रहा है
- 2:49:32मुझे। नेम चल रहा है। तो अगर मैं इसको चला
- 2:49:34के देखूं तो फटाफट से हम एक कार बना लेते
- 2:49:37हैं। कार है मेरी ए। कार ए है। कार ए
- 2:49:40मैंने बना दी। अब ध्यान से देखो। हमने
- 2:49:42इनकैप्सुलेशन वाली वीडियो में सीखा था कि
- 2:49:44हमें कंस्ट्रक्टर डिस्ट्रक्टर भी लिखने
- 2:49:46होते हैं। तो उसको फटाफट से एक
- 2:49:47कंस्ट्रक्टर भी लिख लेते हैं। तो मैं
- 2:49:48कंस्ट्रक्टर लिखता हूं यहां पर व्हीकल।
- 2:49:51यहां पे मैंने इसका नेम दे दिया।
- 2:49:54स्ट्रिंग नेम कॉमा स्ट्रिंग मॉडल कॉमा इंट
- 2:50:00नंबर ऑफ टायर्स।
- 2:50:03ठीक है? तो ये मेरी इनिशलाइजेशन से आ रहे
- 2:50:05होंगे। इनका इनका नाम चेंज कर देता हूं।
- 2:50:07चलो सामने अंडरस्कोर लगा देते हैं ताकि
- 2:50:09नाम चेंज हो। ठीक है? अब मुझे क्या करना
- 2:50:12है? मैंने कहा दिस डॉट ठीक है? दिस का नेम
- 2:50:17इक्वल टु जो आपका इनिशियलाइजेशन से नेम
- 2:50:20आया वो। अगेन दिस का
- 2:50:23मॉडल
- 2:50:25ये किसके इक्वल होगा? जो आपका मेन से मॉडल
- 2:50:28नाम आएगा वो। ठीक है?
- 2:50:31सेम सेम चीज़ मुझे नंबर ऑफ़ टायर के लिए भी
- 2:50:33करनी है। ठीक है? यह तो सिंपल चीज़ थी जो
- 2:50:35हमने सीखी थी। तो फटाफट से इसको मैं कॉपी
- 2:50:38पेस्ट कर देता हूं और मेरा काम हो गया। डन
- 2:50:40है। तो मैंने इसका कंस्ट्रक्टर लिख दिया
- 2:50:42है। सिमिलरली मुझे कार का कंस्ट्रक्टर भी
- 2:50:44लिखना होगा। ठीक है? तो मैं कार का
- 2:50:46कंस्ट्रक्टर फटाफट से लिखता हूं। मैंने
- 2:50:48बोला कार। ठीक है? अब कार के कंस्ट्रक्टर
- 2:50:50में मुझे क्या-क्या वैल्यू चाहिए? मुझे अब
- 2:50:52ध्यान से देखो। क्योंकि मैंने कहा था कि
- 2:50:55हमने इन्हहेरिट करी हैं चीजें। तो ये सारी
- 2:50:58चीजें ये सारी जो वैल्यूज़ हैं, ये जितनी
- 2:51:00भी वैल्यूज़ हैं, ये सारी वैल्यूज़ मुझे इधर
- 2:51:02नजर आ गई हैं। यहां पे नेम एक्सेसबल हो
- 2:51:03रहा है। राइट? तो मुझे
- 2:51:07क्या समझ आता है कि मेरे पास नंबर ऑफ
- 2:51:09डोर्स और ट्रांसमिशन टाइप तो है ही है।
- 2:51:11साथ ही साथ मेरे पास ये सारी प्रॉपर्टीज
- 2:51:13भी हैं मेरे पास। कार के पास ये सारी
- 2:51:15प्रॉपर्टीज भी हैं। तो जब कार का आप
- 2:51:17ऑब्जेक्ट बनाओगे, कार का ऑब्जेक्ट बनाओगे,
- 2:51:19तो आप इन सबको तो इनिशलाइज़ करोगे ही
- 2:51:21करोगे। साथ ही साथ इन सबको भी तो करोगे।
- 2:51:23है ना? मेक सेंस। तो करते हैं फटाफट से।
- 2:51:26तो हमारे पास ये सारी चीजें होनी चाहिए।
- 2:51:29ठीक है? ये सारी चीजें होनी चाहिए। तो मैं
- 2:51:31ये सारी चीजें यहां पर डाल देता हूं।
- 2:51:34साथ ही साथ एक्स्ट्रा चीज़ें। ठीक है? हमने
- 2:51:36कहा था कार इज़ अ रिलेशनशिप के साथ है।
- 2:51:38व्हीकल के साथ इज़ अ रिलेशनशिप में है। तो
- 2:51:40मुझे नंबर ऑफ़ डोर्स एक्स्ट्रा डालने
- 2:51:42पड़ेंगे। नंबर ऑफ़ डोर्स मैंने डाल दिए। ठीक
- 2:51:44है? और साथ ही साथ आपका ट्रांसमिशन टाइप
- 2:51:47डाल दिया। ठीक है? ये चीजें कहां से
- 2:51:49आएंगी? ये चीजें क्योंकि स्पेसिफिक टू कार
- 2:51:51है। ठीक है? ये कार के अंदर ही होता है
- 2:51:53ऐसा। तो मैंने ले लिया। नेक्स्ट। नेक्स्ट
- 2:51:56मुझे क्या करना है? अब देखो ध्यान से।
- 2:52:00यहां पर एक बात समझ आती है हमें।
- 2:52:04कि कार जो है ठीक है वह चाइल्ड है व्हीकल
- 2:52:07का ठीक है तो व्हीकल की कुछ प्रॉपर्टीज
- 2:52:10हैं जो आपके कार के अंदर है ठीक है दोनों
- 2:52:12चीज मैं बोल सकता हूं तो मुझे वो व्हीकल
- 2:52:15स्पेसिफिक प्रॉपर्टीज को भी इनिशलाइज़
- 2:52:17कराना पड़ेगा जो व्हीकल स्पेसिफिक
- 2:52:19प्रॉपर्टीज हैं उनको इनिशलाइज़ कराना
- 2:52:21पड़ेगा तो व्हीकल स्पेसिफिक प्रॉपर्टीज
- 2:52:22सारी इनिशलाइज़ कराने का क्या तरीका है आप
- 2:52:25ऐसे लिखते हो एक एक कॉलन डालते हो फिर
- 2:52:27उसके बाद हम लिखते हैं व्हीकल
- 2:52:31ठीक है अब यहां पर सारी चीजें डाल देंगे।
- 2:52:34नेम ठीक है? अंडरस्कोर नेम {कॉमा}
- 2:52:37अंडरस्कोर मॉडल
- 2:52:41कॉमा अंडरस्कोर नंबर ऑफ टायर्स। डन है? अब
- 2:52:45ध्यान से देखो। यहां पे क्या हुआ है? यहां
- 2:52:47पे हमने कहा कि मैं कार के ऑब्जेक्ट को
- 2:52:49इनिशलाइज़ करना चाहता हूं। और हमने कहा कि
- 2:52:51कार के ऑब्जेक्ट के अंदर ये दो प्रॉपर्टीज
- 2:52:53तो हैं ही हैं। साथ ही साथ व्हीकल की
- 2:52:55प्रॉपर्टीज भी तो आ गई हैं। तो जब मैं कार
- 2:52:57का ऑब्जेक्ट बना रहा हूं तो मुझे इनको तो
- 2:52:59इनिशलाइज़ करना ही करना है। साथ ही साथ
- 2:53:00इनको भी तो इनिशलाइज़ करना है। व्हीकल
- 2:53:02स्पेसिफिक प्रॉपर्टीज भी तो इनिशलाइज़ करनी
- 2:53:03है। तो व्हीकल स्पेसिफिक प्रॉपर्टी
- 2:53:05इनिशियलाइज़ करने के लिए हमने ये सारी
- 2:53:07चीजें डाल दी यहां पर। ठीक है? नेक्स्ट।
- 2:53:10अब यहां पे क्या करेंगे? कार स्पेसिफिक
- 2:53:12प्रॉपर्टी इनिशलाइज़ करा देते हैं। तो मुझे
- 2:53:13कार स्पेसिफिक मेरे पास क्या-क्या आया?
- 2:53:15ध्यान से देखो। कार मेरे पास नंबर ऑफ़
- 2:53:18नंबर ऑफ़ डोर था एक तो। इसको मैं
- 2:53:20इनिशियलाइज़ कर देता हूं नंबर ऑफ़ डोर्स के
- 2:53:22साथ जो कि मेरे मेन से आएंगे। नेक्स्ट
- 2:53:25मुझे क्या करना है? नंबर ऑफ़ डोर के बाद
- 2:53:27ट्रांसमिशन टाइप था मेरे पास। ओके?
- 2:53:29ट्रांसमिशन टाइप कर देते हैं। अंडरस्कोर
- 2:53:31ट्रांसमिशन
- 2:53:33टाइप।
- 2:53:34डन हो गया? तो इतना काम मेरा हो गया है।
- 2:53:37अब मैंने कार स्पेसिफिक इनिशलाइजेशन कर दी
- 2:53:41है। ठीक है? तो अब ध्यान से देखते हैं। एक
- 2:53:42बार इसका ऑब्जेक्ट बनाते हैं। ए तो ध्यान
- 2:53:45से देखो। अगेन मैं रिपीट कर रहा हूं। कार
- 2:53:46के पास सारी प्रॉपर्टीज़ हैं। उसके पास
- 2:53:48व्हीकल की प्रॉपर्टीज़ भी हैं और कार खुद
- 2:53:49की प्रॉपर्टीज़ भी हैं। क्योंकि कार एक
- 2:53:51व्हीकल है। तो मैंने बोला कार की सबसे
- 2:53:53पहले नेम दे देते हैं। ठीक है? तो कार का
- 2:53:55नाम देते हैं हम 800। ठीक है? Maruti 800
- 2:53:58है। कार का नाम Maruti भी लिख देता हूं।
- 2:54:00Maruti 800। ठीक है? नेक्स्ट मुझे मॉडल
- 2:54:04देना है। मॉडल मैं दे देता हूं LXI ठीक
- 2:54:06है? नेक्स्ट मुझे नंबर ऑफ टायर्स देने
- 2:54:08हैं। नंबर ऑफ़ टायर फोर होते हैं। ठीक है?
- 2:54:10नंबर ऑफ डोर्स देने हैं। फोर होते हैं।
- 2:54:12ठीक है? नेक्स्ट ट्रांसमिशन टाइप बोल देते
- 2:54:15हैं मैनुअल।
- 2:54:16मैनुअल। ठीक है? डन। तो कार मेरी इनिशलाइज
- 2:54:19हो गई। कार मेरी इनिशियलाइज हो गई। ठीक
- 2:54:23है? अब एक काम और करते हैं। एक काम और
- 2:54:25करते हैं। यहां पर ना जो कंस्ट्रक्टर है
- 2:54:27यहां पर लिख देते हैं कि मैंने कहा आई एम
- 2:54:30इनसाइड आई एम इंसाइड
- 2:54:33व्हीकल
- 2:54:36व्हीकल सीटर।
- 2:54:40ठीक है? सिमिलरली यहां पर लिख देता हूं
- 2:54:42मैं आई एम इनसाइड कार कंस्ट्रक्टर।
- 2:54:45तो हम समझना चाह रहे हैं कि किस तरीके से
- 2:54:47चीजें चलती हैं। ठीक है? तो अगेन मैं कोड
- 2:54:49को पूरा रिपीट करता हूं। मैंने कहा सबसे
- 2:54:51पहले मैंने एक क्लास बनाई व्हीकल नाम की
- 2:54:53है ना? व्हीकल नाम की क्लास के अंदर
- 2:54:55क्या-क्या था? व्हीकल का मैंने
- 2:54:56कंस्ट्रक्टर बनाया। ठीक है? हमें समझ आता
- 2:54:58है व्हीकल के जितने भी प्रॉपर्टीज हैं
- 2:55:00उनको कंस्ट्रक्ट तो हमें करना ही पड़ेगा।
- 2:55:02है ना? उसके बाद कुछ पब्लिक मेथड्स हैं।
- 2:55:04स्टार्ट और स्टॉप। ठीक है? ये सब कुछ
- 2:55:06पब्लिक है। अभी सब कुछ पब्लिक है। ध्यान
- 2:55:08से देखो। सब कुछ पब्लिक है। अगेन मैंने
- 2:55:11कार एक क्लास बनाई। मैंने बोला उसका
- 2:55:13पेरेंट ना व्हीकल है क्योंकि कार इज अ
- 2:55:15व्हीकल। तो कार व्हीकल है तो व्हीकल की
- 2:55:18सारी प्रॉपर्टीज कार के अंदर आनी चाहिए।
- 2:55:19तो मैंने बोला सारी प्रॉपर्टीज तो आ ही
- 2:55:21रही हैं। साथ ही साथ ये दो प्रॉपर्टी भी
- 2:55:22एक्स्ट्रा डाल देते हैं। ठीक है? अब कार
- 2:55:25का जब कंस्ट्रक्टर बनाओगे क्योंकि हमने
- 2:55:27बोला है कि कार एक व्हीकल है। तो व्हीकल
- 2:55:29स्पेसिफिक प्रॉपर्टीज भी तो मुझे इनिशलाइज
- 2:55:31करनी पड़ेंगी। तो उसका सिंटेक्स क्या कहता
- 2:55:32है कि भाई कार क्योंकि कार का क्योंकि नाम
- 2:55:34भी होता है, मॉडल भी होता है, नंबर ऑफ़
- 2:55:36टायर भी होते हैं। है ना? और ये सारे
- 2:55:37व्हीकल की प्रॉपर्टीज हमने डिफाइन की है
- 2:55:39कोड के अंदर। तो मुझे ये सारी चीजें
- 2:55:41इनिशलाइज़ करानी पड़ेंगी। ये मैंने सारी
- 2:55:42चीजें इनिशलाइज़ करा दी। व्हीकल ऐसे लिख के
- 2:55:45कि व्हीकल है और नेम, मॉडल और टायर्स
- 2:55:48मैंने डाल दिए। तो इससे देखो इस
- 2:55:50कंस्ट्रक्टर से स्पेसिफाई हो रहा है कि
- 2:55:52कार इज़ अ व्हीकल। राइट? अगेन कार इज़ अ
- 2:55:56व्हीकल एंड कार की खुद की भी प्रॉपर्टीज़
- 2:55:58हैं। डन? इतना काम कर दिया। और कार का खुद
- 2:56:01का एक अलग से फंक्शन भी है कि कार जो है
- 2:56:03वह एसी है उसके पास। है ना? एसी स्टार्ट
- 2:56:05हो सकता है कार में। डन। अब इसको फटाफट से
- 2:56:07चला के देखते हैं। अब अगर मैं इसको रन
- 2:56:10करूंगा तो देखते हैं क्या प्रिंट होता है।
- 2:56:11ध्यान से देखो। सबसे पहले प्रिंट होता है
- 2:56:14आई एम इंसाइड व्हीकल सीटर। ठीक है? फिर
- 2:56:18प्रिंट होता है आई एम इनसाइड कार सीटर।
- 2:56:21इसका मतलब मुझे क्या समझ आया है कि जब मैं
- 2:56:24कार बनाने जा रहा हूं, कार का कंस्ट्रक्टर
- 2:56:26बना रहा हूं, जब मैं कार का ऑब्जेक्ट
- 2:56:28बनाने जा रहा हूं, तो कार का ऑब्जेक्ट
- 2:56:30बनने से पहले बेस क्लास का ऑब्जेक्ट बनता
- 2:56:32है। ठीक है? यह बहुत ही इंपॉर्टेंट है।
- 2:56:35C++ जो समझ रहा है उसके लिए बहुत
- 2:56:38इंपॉर्टेंट है कि जब भी आप इन्हहेरिटेंस
- 2:56:40कर रहे हो तो जब भी आप इन्हहेरिटेंस कर
- 2:56:42रहे हो क्योंकि आपकी जो सब क्लास होती है
- 2:56:44सब क्लास जो है वो आपका चाइल्ड है किसका?
- 2:56:48बेस क्लास का। राइट? व्हीकल का। तो सबसे
- 2:56:50पहले आपकी बेस क्लास के कॉस्पोंडिंग
- 2:56:52कंस्ट्रक्टर कॉल होता है। और बेस क्लास के
- 2:56:55कॉस्पोंडिंग जितनी भी प्रॉपर्टीज हैं वो
- 2:56:56इनिशलाइज़ होती हैं। ठीक है? ये हमें दिमाग
- 2:56:58में रखना है। हमेशा बेस क्लास के
- 2:57:00कॉस्पोंडिंग प्रॉपर्टीज पहले इनिशलाइज़
- 2:57:01होंगी। उसके बाद चाइल्ड क्लास के
- 2:57:03कॉस्पोंडिंग प्रॉपर्टीज इनिशलाइज होंगी।
- 2:57:04और ध्यान से देखो ऐसा ही हो रहा है यहां
- 2:57:06पे। ठीक है? तो इतना काम हो गया। ओके?
- 2:57:09हमने ये चीज देख ली। डन। नेक्स्ट हम समझते
- 2:57:11हैं कि अब एक बार ट्राई करते हैं। ध्यान
- 2:57:13से देखो। अगर मैं कार के अंदर कार जो
- 2:57:16मैंने बनाई है अभी A डॉट। ध्यान से देखो।
- 2:57:19जैसे ही मैंने डॉट बोला तो मॉडल, नेम,
- 2:57:22नंबर ऑफ़ डोर्स, नंबर ऑफ़ टायर्स। अब ध्यान
- 2:57:24से देखो। मॉडल और नेम तो आपके व्हीकल की
- 2:57:26प्रॉपर्टीज थी ना। कार के अंदर नजर आ रही
- 2:57:28है मुझे। यस और नो। अगेन स्टार्ट इंजन तो
- 2:57:31आपका उसका प्रॉपर्टी थी ना व्हीकल की वो
- 2:57:33भी नजर आ रही है। तो कार जब बनी है सबसे
- 2:57:35पहले स्टार्ट इंजन करते हैं उसका। स्टार्ट
- 2:57:37इंजन कर दिया। उसके बाद मैंने बोला कार के
- 2:57:40अंदर उसका एसी ऑन करते हैं। ठीक है? कार
- 2:57:42के अंदर एसी ऑन करते हैं। उसके बाद स्टॉप
- 2:57:45करेंगे। तो पहले कार के अंदर एसी ऑन करते
- 2:57:47हैं। A डॉट कार का एसी ऑन कर देते हैं।
- 2:57:50डन। इतना काम हो गया। अब इसको रन करके
- 2:57:53देखते हैं। ध्यान से देखो। सबसे पहले
- 2:57:57व्हीकल कंस्ट्रक्टर कॉल हुआ। फिर कार का
- 2:57:59कंस्ट्रक्टर कॉल हुआ। फिर इंजन इज़
- 2:58:00स्टार्टिंग फॉर Maruti 800 LXI ध्यान से
- 2:58:03देखो। ध्यान से देखो। व्हीकल की
- 2:58:06प्रॉपर्टीज़ यूज़ हो रही हैं कार के अंदर।
- 2:58:08ठीक है? और AC स्टार्टेड फॉर Maruti 800।
- 2:58:10इंजन इज़ स्टॉपिंग फॉर Maruti 800 LXI अब
- 2:58:14ध्यान से देखते हैं। यहां पे जो नेम
- 2:58:16वेरिएबल है, क्या आपको यहां पर नेम
- 2:58:17वेरिएबल नजर आ रहा है? बिल्कुल नहीं है।
- 2:58:20ठीक है? नेम वेरिएबल मुझे यहां पर नजर आता
- 2:58:22है यहां पर और ये नेम वेरिएबल यहां पर
- 2:58:25एक्सेसिबल है क्योंकि नेम वेरिएबल जो है
- 2:58:28वो व्हीकल से इन्हहेरिट करके बैठा हुआ है
- 2:58:30कौन आपका कार ठीक है अब जैसे कि मैं मोड
- 2:58:34ऑफ इनहेरिटेंस की बात कर रहा था ठीक है एक
- 2:58:36एक चीज करके देखते हैं इस नेम को ना यहां
- 2:58:38से हटाकर मैं यहां पे प्राइवेट बना देता
- 2:58:40हूं
- 2:58:42मोड ऑफ इनहेरिटेंस में मैंने कहा था कि
- 2:58:44अगर बेस क्लास अगर बेस क्लास के अंदर कोई
- 2:58:47मेंबर प्राइवेट है वह कभी भी इनहेरिट नहीं
- 2:58:49होगा। तो देखें बेस क्लास के अंदर ये
- 2:58:51प्राइवेट है। प्राइवेट है। पब्लिक मोड में
- 2:58:54इनहेरिट कर रहे हैं। तो अगर मैं इधर आ के
- 2:58:55देखता हूं बेस क्लास के अंदर चीज प्राइवेट
- 2:58:58है और मैं पब्लिक मोड में इनहेरिट कर रहा
- 2:59:00हूं। तो नॉट इनहेरिटेड इनहेरिट नहीं होगा।
- 2:59:02देखें यहां नीचे आओ। यहां देखो नेम क्या आ
- 2:59:05गया लिखा हुआ? एरर आ गया कि नेम इज़
- 2:59:07इनसेसिबल। अगर आप इसको चलाओगे भी तो यह
- 2:59:10नहीं चलेगा। एरर आउट कर जाएगा। नेम
- 2:59:12एक्सेसिबल नहीं है। नेम एक्सेसिबल नहीं
- 2:59:14है। पर भैया क्या मैं गेटर सेटर से एक्सेस
- 2:59:16कर सकता हूं? बिल्कुल। एक पब्लिक मेथड मैं
- 2:59:18यहां लिख सकता हूं। इसको मैं बोल दूंगा
- 2:59:19गेट
- 2:59:22स्ट्रिंग गेट नेम। ठीक है? एक मेथड लिख
- 2:59:25देते हैं और मैं रिटर्न कर देता हूं
- 2:59:28दिस का नेम। अगर मैं यह गेट नेम कर लूं
- 2:59:32क्योंकि ये पब्लिक मेथड है। है ना? पब्लिक
- 2:59:35मेथड है और मैं पब्लिक मोड में इन्हहेरिट
- 2:59:37कर रहा हूं। तो देखो बेस क्लास का पब्लिक
- 2:59:39मेथड जब मैं पब्लिक मोड में इन्हहेरिट
- 2:59:42करता हूं। बेस क्लास का पब्लिक मेथड
- 2:59:44पब्लिक मोड में इनहेरिट करता हूं तो
- 2:59:46पब्लिक की तरह आ जाता है। ठीक है? तो
- 2:59:47ध्यान से देखो। को अब यहां पर क्या होगा?
- 2:59:49यहां पर ये आ जाएगा नेम डॉट नेम डॉट नहीं
- 2:59:53क्या करेंगे हम? गेट
- 2:59:55नेम
- 2:59:58अब ये चल जाएगा। अब ये चल जाएगा। ये चीज़
- 3:00:01हमने कहां सीखी थी? इनकैप्सुलेशन में सीखी
- 3:00:03थी ना कि हम इनकैप्सुलेट कर देंगे।
- 3:00:05प्राइवेट बना देंगे। फिर गेट एक पब्लिक
- 3:00:07गेटर से यूज़ कर लेंगे। ठीक है? तो ये हमें
- 3:00:09समझ आया। नेक्स्ट हम क्या कर सकते हैं? अब
- 3:00:12ध्यान से देखो। मैंने अब मैं इसको अगर
- 3:00:14प्रोटेक्टेड बना दूं। प्रोटेक्टेड अगर मैं
- 3:00:16इसको नेम को प्रोटेक्टेड बना दूं। अब बेस
- 3:00:19क्लास का बेस क्लास का प्रोटेक्टेड मेंबर
- 3:00:23प्रोटेक्टेड मेंबर अगर वह पब्लिक मोड में
- 3:00:25इन्हहेरिट होगा तो प्रोटेक्टेड ही रहेगा।
- 3:00:27अब प्रोटेक्टेड ही रहेगा। देखते हैं।
- 3:00:29समझते हैं इसका मतलब। ध्यान से देखो। अब
- 3:00:33यहां पर नेम एक्सेसबल है। नेम नजर आ रहा
- 3:00:36है। चल रहा है। तो इसका मतलब बेस क्लास के
- 3:00:39अंदर अगर कोई चीज प्रोटेक्टेड है। ठीक है?
- 3:00:41और मैं पब्लिक मोड में इनहेरिट कर रहा
- 3:00:43हूं। ठीक है? मैं इन्हहेरिट कर रहा हूं।
- 3:00:46बेस क्लास में कोई चीज प्रोटेक्टेड है और
- 3:00:48मैं पब्लिक मोड में इनहेरिट कर रहा हूं।
- 3:00:50तो प्रोटेक्टेड की तरह वह आ जाएगा। तो ऐसा
- 3:00:52मानो ऐसा मानो कि ये जो है इन्हहेरिट होकर
- 3:00:55आ गया है यहां पर। ठीक है? और क्योंकि
- 3:00:57इनहेरिट हो के यहां पे आ गया तो यहां पे
- 3:00:59नेम एक्सेसिबल है। यस और नो नेम चल रहा है
- 3:01:01मेरा। अब क्योंकि ये नेम चल रहा है। अब यह
- 3:01:03प्रोग्राम पूरा रन हो जाएगा। प्रोग्राम रन
- 3:01:05हो गया। ठीक है? अब प्रोटेक्टेड से भैया
- 3:01:08फायदा क्या हुआ? प्रोटेक्टेड से ये फायदा
- 3:01:10हुआ। अगर मैं व्हीकल का एक ऑब्जेक्ट बनाता
- 3:01:12हूं। व्हीकल का वी ऑब्जेक्ट बनाता हूं और
- 3:01:13V डॉट नेम करने की कोशिश करता हूं। V डॉट
- 3:01:16नेम
- 3:01:18तो ये एक्सेस नहीं होगा। ध्यान से देखो।
- 3:01:21ये एक्सेस नहीं होगा। ठीक है? इसको बनाने
- 3:01:23के लिए हमें कुछ कुछ यहां पे कंस्ट्रक्टर
- 3:01:25में देना पड़ेगा। बट हमारा पर्पस क्या है?
- 3:01:27मैं बोल रहा हूं V डॉट नेम जो है वो
- 3:01:29एक्सेसबल नहीं है। क्यों नहीं एक्सेसिबल?
- 3:01:31क्योंकि प्रोटेक्टेड प्राइवेट की तरह
- 3:01:32बिहेव करता है। तो मेन के लिए मेन के लिए
- 3:01:35व्हीकल का नेम जो है वो एक प्राइवेट मेंबर
- 3:01:37है। एक्सेसबल नहीं हो सकता। कहां हो रहा
- 3:01:39है? नहीं हो रहा है। नहीं हो रहा है। बट
- 3:01:42यह जो नेम है, यह उसकी डिराइव्ड क्लास में
- 3:01:44चला गया है। अब डिराइव्ड क्लास में भी
- 3:01:46कैसे गया है? एज़ ए प्रोटेक्टेड मेंबर गया
- 3:01:48है। अब डिराइव क्या है भैया? एज ए
- 3:01:49प्रोटेक्टेड मेंबर गया। इसका मतलब अगर a
- 3:01:51डॉट नेम करूंगा तो नहीं चलेगा। मैंने कहा
- 3:01:53नहीं चलेगा। देखो C आउट A डॉट नेम करोगे
- 3:01:57अगर तो यह नहीं चलेगा। यह पहले ही दिखा
- 3:01:59रहा है कि आपका एक्सेसबल नहीं है। तो,
- 3:02:02इसका मतलब यह क्लियर होता है कि अगर कोई
- 3:02:05बेस क्लास में चीज प्रोटेक्टेड पड़ी हुई
- 3:02:07है, तो वो इन्हहेरिट तो हो जाएगी। वो
- 3:02:09इन्हहेरिट तो हो जाएगी। डिपेंडिंग अपॉन
- 3:02:11आपने मोड ऑफ़ इनहेरिटेंस क्या रखा है? अगर
- 3:02:13प्राइवेट रखा है, मोड ऑफ़ इनहेरिटेंस तो
- 3:02:14प्राइवेट की तरह इनहेरिट हो जाएगी। ठीक
- 3:02:16है? प्रोटेक्टेड रखा है तो प्रोटेक्टेड की
- 3:02:18तरह इनहेरिट हो जाएगी। पब्लिक रखा है तो
- 3:02:19प्रोटेक्टेड की तरह इन्हहेरिट होगी। ठीक
- 3:02:21है? और कोई पब्लिक चीज़ है तो पब्लिक की
- 3:02:23तरह इनहेरिट होगी। पब्लिक मोड में कर रहे
- 3:02:25होगे। अगर कोई पब्लिक चीज है आप
- 3:02:26प्रोटेक्टेड मोड में कर रहे हो तो
- 3:02:28प्रोटेक्टेड मोड में होएगी। देखें इस चीज
- 3:02:29को करके कोई चीज पब्लिक है मॉडल। ठीक है?
- 3:02:34ये मॉडल पब्लिक है। अब मैं इसको इन्हहेरिट
- 3:02:37करता हूं यहां पर प्रोटेक्टेड मोड में।
- 3:02:41ठीक है? मैंने इन्हहेरिटेंस क्या रखा है?
- 3:02:43प्रोटेक्टेड मोड में। अब आप बताओगे मुझे।
- 3:02:45तो बेस क्लास में अगर कोई चीज प्राइवेट तो
- 3:02:47हमने हमारे पास है नहीं। प्रोटेक्टेड है।
- 3:02:49अगर बेस क्लास में कोई चीज़ प्रोटेक्टेड है
- 3:02:51और मैंने प्रोटेक्टेड मोड में इन्हहेरिट
- 3:02:52करा है तो डिराइव्ड क्लास में प्रोटेक्टेड
- 3:02:54की तरह बिहेव करेगी। तो इसका मतलब यहां पर
- 3:02:58जो ये वाला मेथड है ये वाला ये वाला जो
- 3:03:01मेथड है ये वाला जो डेटा मेंबर है नेम वो
- 3:03:04यहां पे इस इस प्रकार आ गया होगा। ठीक है?
- 3:03:06हमें लिखने की जरूरत नहीं है। वो आ गया
- 3:03:08होगा। ऐसे मान लेते हैं। नेक्स्ट
- 3:03:11नेक्स्ट अगर कोई चीज बेस क्लास के अंदर
- 3:03:14पब्लिक है और मैंने प्रोटेक्टेड मोड में
- 3:03:16इनहेड किया है तो प्रोटेक्टेड की तरह आ
- 3:03:18जाएगा। वो प्रोटेक्टेड की तरह आ जाएगा। अब
- 3:03:19ध्यान से देखो। ध्यान से देखो। ये यहां पे
- 3:03:22पब्लिक था। ये दोनों चीज़ यहां पब्लिक थी।
- 3:03:24मैंने प्रोटेक्टेड मोड में इनहेरिट करा।
- 3:03:26तो इसका मतलब ये दोनों चीज़ ये दोनों चीज़
- 3:03:28मॉडल और नंबर ऑफ़ टाइप्स नंबर ऑफ़ टायर्स जो
- 3:03:31हैं वो प्रोटेक्टेड की तरह आ गए होंगे।
- 3:03:32प्रोटेक्टेड का क्या मतलब है भैया? वो
- 3:03:34डिराइव्ड क्लास में तो चला जाएगा। पर मेन
- 3:03:36पैसे नहीं होगा। मेन पैसे नहीं होगा।
- 3:03:38ध्यान से देखो। ये हो रहा है? नहीं हो
- 3:03:40रहा। ये असेसबल हो रहा है? नहीं हो रहा।
- 3:03:42ठीक है? तो ये है आपका मोड ऑफ़ इनहेरिटेंस।
- 3:03:44ठीक है? C++1 में होता है ये बस।
- 3:03:47ठीक है? तो नेक्स्ट नेक्स्ट क्या है?
- 3:03:50नेक्स्ट क्या है? अगर यहां पे कोई चीज
- 3:03:51प्राइवेट है। हमने बोला बेस क्लास में कोई
- 3:03:53चीज प्राइवेट है। वो तो कभी इनहेरिट हो ही
- 3:03:54नहीं सकती। ठीक है? प्रोटेक्टेड है तो
- 3:03:56प्रोटेक्टेड जो है वो ड्राइव क्लास में
- 3:03:58चली जाएगी। डिपेंडिंग अपॉन मोड ऑफ़
- 3:04:00इनहेरिटेंस आपने क्या रखा है? है ना? तो
- 3:04:02इसका मतलब भैया मोड ऑफ़ इनहेरिटेंस का मतलब
- 3:04:04क्या है? आप इस इतना प्रेशराइज़ क्यों कर
- 3:04:06रहे हो? मोड ऑफ इनहेरिटेंस मैं इसलिए
- 3:04:07ज्यादा प्रेसाइड कर रहा हूं क्योंकि मोड
- 3:04:09ऑफ इनहेरिटेंस डिफाइन करती है कि जोज
- 3:04:12मेंबर्स आप बेस क्लास से लेकर आ रहे हो
- 3:04:14चाइल्ड क्लास में उसकी विजिबिलिटी कैसी
- 3:04:17रहेगी? उसकी विजिबिलिटी कैसी रहेगी? अगर
- 3:04:20यहां पे सब कुछ सब कुछ यहां पब्लिक होता।
- 3:04:22व्हीकल में सब कुछ पब्लिक कर देते हैं।
- 3:04:24चलो
- 3:04:26व्हीकल पे आए। व्हीकल में सब कुछ हमने
- 3:04:28पब्लिक कर दिया है। ठीक है? सब कुछ पब्लिक
- 3:04:32है। ध्यान से देखो। मैंने बोला यहां पे ना
- 3:04:34प्राइवेट मोड में इन्हहेरिट कर लो। इसका
- 3:04:37क्या मतलब है? ठीक है? हिंदी में समझते
- 3:04:39हैं। इसका मतलब है जितने भी यहां पर डेटा
- 3:04:42है जितना भी यहां पर डेटा है। ठीक है? बेस
- 3:04:44क्लास में बेस क्लास में जितना भी पब्लिक
- 3:04:46डेटा है अगर आपने प्राइवेट मोड में
- 3:04:48इनहेरिट करा है तो सब कुछ प्राइवेट बन
- 3:04:50जाएगा। इसका मतलब यह जो नेम मोड नंबर ऑफ
- 3:04:53टायर्स है ना यह कार के अंदर आ तो गए हैं
- 3:04:55पर प्राइवेट की तरह आए हैं। क्योंकि यह
- 3:04:57प्राइवेट की तरह आए हैं। तो ध्यान से
- 3:04:58देखो। A डॉट स्टार्ट इंजन को आप नहीं
- 3:05:01एक्सेस कर पा रहे। क्या आप A डॉट नेम को
- 3:05:03एक्सेस कर पाओगे?
- 3:05:09इसको भी नहीं कर पा रहे। इसको भी नहीं कर
- 3:05:12पा रहे। ठीक है? इसलिए ये समझना जरूरी है।
- 3:05:14थोड़ा सा प्रैक्टिस करोगे। इसको छेड़ोगे
- 3:05:16तो आपको समझ आएगा। ठीक है? तो बेस्ट तरीका
- 3:05:19क्या है? बेस्ट तरीका मैंने कहा कि इसके
- 3:05:20अंदर एक काम करते हैं। इसको प्रोटेक्टेड
- 3:05:22कर देते हैं सब कुछ। है ना? व्हीकल के
- 3:05:24अंदर सब कुछ प्रोटेक्टेड कर देते हैं। और
- 3:05:25क्योंकि जो आपका कंस्ट्रक्टर होता है वो
- 3:05:27तो हमेशा पब्लिक होना ही चाहिए।
- 3:05:29कंस्ट्रक्टर हमेशा पब्लिक होना चाहिए। तो
- 3:05:30इसको हमने पब्लिक कर दिया। ठीक है? और
- 3:05:33व्हीकल के जो यह मेथड्स हैं इनको ऐसे ही
- 3:05:35रहने देते हैं। अब यहां पे जब प्रोटेक्टेड
- 3:05:37है और हम यहां पर इसको यहां पे पब्लिक मोड
- 3:05:41में इन्हहेरिट करते हैं। ठीक है?
- 3:05:44अब ध्यान से देखो क्योंकि मैंने पब्लिक
- 3:05:46मोड में इनहेरिट किया है। है ना? इसका
- 3:05:47मतलब क्या है? पब्लिक मोड में इन्हहेरिट
- 3:05:49कर रहा हूं मैं। ठीक है? यहां देखा मैंने।
- 3:05:51मैंने कहा जितने प्रोटेक्टेड है ना वो तो
- 3:05:53प्रोटेक्टेड की तरह आ जाएंगे और पब्लिक
- 3:05:54पब्लिक की तरह आ जाएंगे। तो जितने
- 3:05:56प्रोटेक्टेड हैं प्रोटेक्टेड की तरह
- 3:05:57आएंगे। यानी ये तीनों प्रोटेक्टेड की तरह
- 3:05:59यहां आ चुके होंगे। यहां पे प्रोटेक्टेड
- 3:06:01की तरह आने का मतलब है कि वो कार में तो
- 3:06:03एक्सेसबल होंगे। कार में एक्सेसबल हैं।
- 3:06:05बिल्कुल दिख रहा है सब कुछ। बट वो मेन में
- 3:06:07एक्सेसबल नहीं होंगे। अगर मैं ए डॉट मॉडल
- 3:06:10करूंगा
- 3:06:12नहीं चलेगा। ठीक है? यही अगर मैं इसको
- 3:06:16इनको अगर मैं पब्लिक कर देता पब्लिक कर
- 3:06:18देता। ठीक है? तो पब्लिक पब्लिक चीजें
- 3:06:22पब्लिक मोड में इनहेरिट करके यहां पब्लिक
- 3:06:23की तरह आती क्योंकि पब्लिक की तरह आती तो
- 3:06:25ए डॉट मॉडल चल जाता। ठीक है? तो बैक चले
- 3:06:29जाते हैं वापस से। तो अच्छा डिज़ क्या होता
- 3:06:31है? अच्छा डिज़ाइन यह है कि हम चीजों को
- 3:06:33मोस्टली प्रोटेक्टेड रखेंगे। है ना? या
- 3:06:35प्राइवेट रखेंगे अगर मैं देना नहीं चाहता।
- 3:06:37बट क्योंकि आप इन्हहेरिट करवाना चाहते हो
- 3:06:39चीजों को। तो मुझे प्रोटेक्टेड रखनी
- 3:06:40पड़ेंगी। तो मैंने इन चीजों को
- 3:06:41प्रोटेक्टेड रखा। प्रोटेक्टेड रखने के बाद
- 3:06:44यानी कि यहां पर पब्लिक मोड में इनहेरिट
- 3:06:46कर रहा हूं। तो यानी कि यहां पर वो वहां
- 3:06:48यहां पर वो प्रोटेक्टेड की तरह आ जाएंगे।
- 3:06:50अब क्यों प्रोटेक्टेड की तरह आ गए हैं तो
- 3:06:51मैं सेफ हूं। यानी कि कार जो है कार के
- 3:06:54लिए तो ये वेरिएबल एक्सेसिबल है। अवेलेबल
- 3:06:57है पर मेन के लिए नहीं है। वही मैं चाहता
- 3:06:59हूं। है ना? ये तो मैं चाहता हूं। चीजें
- 3:07:00छुपाना चाहता हूं मैं। जितना हो सके चीजें
- 3:07:02छुपाना चाहता हूं। ठीक है? तो ये था आपका
- 3:07:05इन्हहेरिटेंस। ठीक है? अब ये तो हमने कर
- 3:07:08लिया। रीयूज़बिलिटी कर ली। कोड की
- 3:07:09रयूज़बिलिटी कर ली। नेक्स्ट मुझे क्या करना
- 3:07:11है? नेक्स्ट मुझे क्या करना है? मुझे कोड
- 3:07:13को एक्सटेंसिबल देखना है। एक्सटेंसिबल का
- 3:07:15मतलब क्या हुआ? ओके। इसका मतलब अगर मेरा
- 3:07:18मन करे कि अब मैं मोटरसाइकिल लेके आता हूं
- 3:07:20तो मैं क्या करूंगा? मैं बोलता हूं क्लास
- 3:07:22बनाते हैं एक मोटरसाइकिल नाम से।
- 3:07:28ठीक है? क्योंकि यह इज़ रिलेशनशिप में है।
- 3:07:30किसके साथ? व्हीकल के साथ। तो मैंने बोला
- 3:07:33व्हीकल के साथ वो इज़ रिलेशनशिप में है।
- 3:07:35ठीक है? तो फटाफट से मैंने इसको बनाया।
- 3:07:37मैंने बोला पब्लिक रखते हैं इसके मेथड्स।
- 3:07:41अगेन अगेन अच्छा डिजाइन होगा। इसको भी हम
- 3:07:44उठाकर क्या कर देते हैं? इसको भी हम उठाकर
- 3:07:46प्रोटेक्टेड बना देते हैं। ठीक है?
- 3:07:48प्राइवेट भी बना सकते हैं। पर प्राइवेट
- 3:07:50बनाएंगे तो हो सकता है कार के और सब टाइप
- 3:07:52हो। हैचबैक कार है ना? अगर हैचबैक कार
- 3:07:54होंगे तो मैं चाहूंगा ना कि ये दोनों
- 3:07:56चीजें भी आगे आपके इन्हहेरिट हो जाएं। है
- 3:07:59ना? तो मैं यहां पर भी इसको प्रोटेक्टेड
- 3:08:01ले लेता हूं। प्रोटेक्टेड।
- 3:08:03ठीक है? न डन है। अब देखते हैं। तो
- 3:08:05मोटरसाइकिल के पास व्हीकल की सारी
- 3:08:07प्रॉपर्टीज आ गई हैं। है ना? व्हीकल की
- 3:08:09सारी प्रॉपर्टीज आ गई हैं। क्या व्हीकल की
- 3:08:11प्रोटेक्टेड प्रॉपर्टीज आ गई हैं? बिल्कुल
- 3:08:13आ गई हैं। बिल्कुल आ गई हैं। क्योंकि
- 3:08:15प्रोटेक्टेड चीजें इन्हहेरिट होती हैं।
- 3:08:16प्रोटेक्टेड चीजें एज ए प्रोटेक्टेड यहां
- 3:08:18पे इन्हहेरिट हो जाएंगी। बट वो बाहर
- 3:08:20एक्सेसिबल नहीं होंगी। यस और नो यही करते
- 3:08:22हैं। ठीक है? तो क्योंकि हमने इसको
- 3:08:24प्रोटेक्टेड किया है। तो मैंने कहा था कि
- 3:08:26आपका जो आपका जो कंस्ट्रक्टर होगा वो
- 3:08:28पब्लिक होना चाहिए। तो इसको पब्लिक कर
- 3:08:29दिया। हमने स्टार्ट एसी को भी पब्लिक कर
- 3:08:31दिया। ठीक है?
- 3:08:33ओके। तो देखो अगर मैं मेन में बैठा हुआ
- 3:08:35हूं। मेन में बैठा हुआ हूं तो मैं A डॉट
- 3:08:37नेम को ना एक्सेस नहीं कर पाऊंगा। यस और
- 3:08:39नो। तो A डॉट नेम को मैं एक्सेस नहीं कर
- 3:08:42पाता। क्या मैं कर पा रहा हूं? नहीं कर पा
- 3:08:43रहा। क्यों नहीं कर पा रहा? क्योंकि भैया
- 3:08:45जो नेम है ना नेम नेम जो है ना वो यहां पर
- 3:08:48नेम आपका प्रोटेक्टेड था और प्रोटेक्टेड
- 3:08:50मेंबर को अगर आप पब्लिक मोड में इन्हहेरिट
- 3:08:52करते हो तो प्रोटेक्टेड की तरह ही आता है।
- 3:08:53और मेन के लिए प्रोटेक्टेड एज ए प्राइवेट
- 3:08:55ही बिहेव करता है। ठीक है? चलो अब यहां पर
- 3:08:59क्या करना है? हमने बोला मोटरसाइकिल के
- 3:09:01अंदर व्हीकल के प्रोटेक्टेड सारे आ गए
- 3:09:03होंगे। ठीक है? आपका नेम आ गया होगा, मॉडल
- 3:09:05आ गया होगा और नंबर ऑफ़ टायर्स आ गए होंगे।
- 3:09:07अब मुझे नेक्स्ट क्या लेके आना है? मेरे
- 3:09:09पास मेरे पास क्या होता है? एक तो हैंडल
- 3:09:11स्टाइल था ना हैंडल बार का स्टाइल। तो
- 3:09:14मैंने बोला स्ट्रिंग हैंडल बार स्टाइल ले
- 3:09:18लिया एक। ठीक है? नेक्स्ट मैंने लिख लिया
- 3:09:20स्ट्रिंग
- 3:09:22सस्पेंशन
- 3:09:23टाइप ले लिया।
- 3:09:26ठीक है? अब फटाफट से इसका भी कंस्ट्रक्टर
- 3:09:28लिखना होगा। तो मैंने बोला कि कंस्ट्रक्टर
- 3:09:31लिखते हैं इसका।
- 3:09:33कंस्ट्रक्टर।
- 3:09:35ठीक है? अब मुझे क्या-क्या चाहिए? मुझे
- 3:09:37सारी चीजें चाहिए जो कि आपकी किसकी होती
- 3:09:39हैं? किसकी होती है? आपके व्हीकल की होती
- 3:09:41हैं। ठीक है? क्योंकि व्हीकल के
- 3:09:43कॉस्पोंडिंग जितने भी मेंबर्स हैं उनको
- 3:09:45इनिशलाइज़ कराना है। साथ ही साथ आपके हैंडल
- 3:09:49बार होगा। हैंडल बार होगा। ठीक है? और साथ
- 3:09:52ही साथ आपका सस्पेंशन होगा।
- 3:09:56ये दोनों चीजें क्या हैं? स्ट्रिंग। नाम
- 3:09:58चेंज कर देते हैं। अंडरस्कोर डाल देते
- 3:10:00हैं। इसके अंदर भी नाम चेंज कर देते हैं।
- 3:10:03स्ट्रिंग अंडरस्कोर डाल देते हैं। डन है?
- 3:10:06तो यानी ये सारे मेंबर्स मैंने ले लिए। ये
- 3:10:08सारे कहां से आएंगे? मेन से आएंगे। अगेन
- 3:10:10सेम चीज क्योंकि ये इन्हहेरिट कर रही है
- 3:10:13किसी को तो इसके पेरेंट को इनिशलाइज़ करना
- 3:10:15पड़ेगा। पेरेंट के स्पेसिफिक जितने भी डेटा
- 3:10:18वैल्यूज़ हैं उनको इनिशलाइज़ करना पड़ेगा। तो
- 3:10:20मैंने बोला व्हीकल। ठीक है? और यहां डाल
- 3:10:22देते हैं आपका क्या-क्या? नेम डालना
- 3:10:24पड़ेगा। ठीक है? मॉडल डालना पड़ेगा और साथ
- 3:10:27ही साथ नंबर ऑफ टायर डालने पड़ेंगे। नंबर
- 3:10:29ऑफ टायर्स।
- 3:10:32ठीक है? इतना काम हो गया। नेक्स्ट नेक्स्ट
- 3:10:35अब हम क्या करेंगे? जो मोटरसाइकिल क्लास
- 3:10:38है उसके स्पेसिफिक चीजों को इनिशलाइज कर
- 3:10:40देते हैं। तो हैंडल बार स्टाइल को
- 3:10:41इनिशलाइज करते हैं। ठीक है? वो किसके
- 3:10:44बराबर होगा? जो आपका मेन से आ रहा है
- 3:10:45हैंडल बार स्टाइल।
- 3:10:48ठीक है? सिमिलरली हमें किसको इनिशलाइज़
- 3:10:51कराना होगा? सस्पेंशन। यह कैसे आ गया?
- 3:10:55सस्पेंशन टाइप को तो मैंने बोला सस्पेंशन
- 3:10:59टाइप इक्वल टू सस्पेंशन टाइप अंडरस्कोर
- 3:11:02ठीक है तो ध्यान से देखो मुझे सिर्फ इतनी
- 3:11:05चीज लिखनी पड़ी ठीक है मोटरसाइकिल
- 3:11:06स्पेसिफिक चीजें लिखनी पड़ी और मेरी क्लास
- 3:11:08एक्सटेंड हो गई है ना मेरी क्लास एक्सटेंड
- 3:11:10हो गई मैंने मोटरसाइकिल की क्लास बना ली
- 3:11:12व्हीकल क्लास की सारी प्रॉपर्टी
- 3:11:13मोटरसाइकिल के अंदर आ रही थी तो मुझे इन
- 3:11:15सबको बार-बार नहीं लिखना पड़ेगा मुझे
- 3:11:17बार-बार स्टार्ट इंजन स्टॉप इंजन नहीं
- 3:11:19लिखना है ठीक है क्योंकि मोटरसाइकिल भी एक
- 3:11:20व्हीकल है स्टार्ट इंजन स्टॉप इंजन उसका
- 3:11:22भी होगा करें फटाफट से मैं बोला हूं
- 3:11:24मोटरसाइकिल बनाओ फटाफट से एम नाम की। ठीक
- 3:11:27है? इसका नाम रख देते हैं BMW नाम की
- 3:11:30मोटरसाइकिल है हमारे पास। ठीक है? इसका
- 3:11:33मॉडल सपोज vxi है। ठीक है? नेक्स्ट इसमें
- 3:11:36नंबर ऑफ टायर्स तो इसमें भी होते हैं।
- 3:11:37ट्रू हैं। ठीक है? नेक्स्ट इसमें हैंडल
- 3:11:40बार स्टाइल।
- 3:11:41हैंडल बार स्टाइल ले लेते हैं U। ठीक है?
- 3:11:44और सस्पेंशन टाइप ले लेते हैं
- 3:11:48हार्ड। ठीक है?
- 3:11:51डन है। अब नेक्स्ट मोटरसाइकिल के अंदर भी
- 3:11:54हम मोटरसाइकिल के अंदर एक अलग से मेथड लिख
- 3:11:56सकते हैं। तो मैंने बोला मोटरसाइकिल के
- 3:11:58अंदर अब ध्यान से देखो आपका एरर दे रहा
- 3:12:00है। यह कह रहा है कि इसका कंस्ट्रक्टर जो
- 3:12:02है वो भी इनसेसिबल है। क्यों? क्योंकि
- 3:12:05हमने सब कुछ प्रोटेक्टेड कर दिया है। तो
- 3:12:07मेन के लिए प्रोटेक्टेड प्राइवेट की तरह
- 3:12:08बिहेव करता है। मैंने कहा इसको पब्लिक कर
- 3:12:10देते हैं। ठीक है? एक मेथड बनाते हैं।
- 3:12:12पब्लिक मेथड जो हमने बोला था कि इसके
- 3:12:14स्पेसिफिक मेथड विली होगा। है ना? विली
- 3:12:16मेथड बनाया मैंने।
- 3:12:18अब यहां लिख देते हैं फटाफट से।
- 3:12:20ठीक है। इसको कॉपी पेस्ट करते हैं।
- 3:12:23लिखते हैं फटाफट। विली
- 3:12:30कर रहे हैं।
- 3:12:33कर रही है बाइक तो फीमेल होती ना बाइक का
- 3:12:36नाम। ठीक है? बेल ही कर रही है बाइक का
- 3:12:38नाम। देखो नेम तो आपका है नहीं। यहां पर
- 3:12:40नेम कहां से उठ रहा होगा आपका? व्हीकल।
- 3:12:41व्हीकल वाली क्लास से। ठीक है? अब करते
- 3:12:45हैं फटाफट से। पहले M डॉट स्टार्ट इंजन।
- 3:12:47तो M का इंजन स्टार्ट किया। फिर बोला m जो
- 3:12:50है m डॉट वो है वह विली करने चला गया ठीक
- 3:12:52है बाइक विली करने चली गई फिर आपका जो यह
- 3:12:56बाइक है वो स्टॉप हो गई
- 3:12:58ध्यान से देखो कितना ब्यूटीफुली कोड का
- 3:13:00डिजाइन बनाया ठीक है आपके पास व्हीकल
- 3:13:02क्लास है ठीक है आपने उसको आपने उसको यूज़
- 3:13:05करके मोटरसाइकिल क्लास बना दी ठीक है आप
- 3:13:07क्योंकि मोटरसाइकिल के बाद भी इंजन होता
- 3:13:09है स्टार्ट स्टॉप होता है वह तो आपने
- 3:13:10सिंपल यह लिखा और यह सारा मेथड कहां लिखा
- 3:13:12हुआ था यह मेथड लिखा हुआ था आपका व्हीकल
- 3:13:14के अंदर ठीक है तो मुझे दोबारा नहीं लिखना
- 3:13:16पड़ा यह मोटरसाइकिल क्लास के अंदर ठीक है?
- 3:13:19इतना काम हो गया। मोटरसाइकिल का स्पेसिफिक
- 3:13:21बिहेवियर क्या था? वो व्हील करती थी। ठीक
- 3:13:23है? तो मोटरसाइकिल का व्हील कॉल कर दिया।
- 3:13:25इसके अंदर नेम कॉल कर रहे हैं। ये जो नेम
- 3:13:26है यह व्हीकल से उठ रहा है। है ना? तो अगर
- 3:13:28इसको रन करेंगे हम तो देखो।
- 3:13:32ठीक है? इंजन स्टॉप फॉर Maruti। ठीक है?
- 3:13:34आई एम इनसाइड व्हीकल कंस्ट्रक्टर।
- 3:13:36ऑब्वियसली ऑब्वियसली मोटरसाइकिल का
- 3:13:38कंस्ट्रक्टर बना होगा तो पहले उसने व्हीकल
- 3:13:40कंस्ट्रक्टर कॉल किया होगा। क्योंकि हमने
- 3:13:42कहा कि चाइल्ड क्लास बनने से पहले बेस
- 3:13:44क्लास का बेस क्लास का कंस्ट्रक्टर कॉल
- 3:13:46होता है। ठीक है? यहां पर भी लिख सकते हैं
- 3:13:49सी आउट
- 3:13:52मोटरसाइकिल
- 3:13:54सीटर
- 3:13:56कॉल्ड ठीक है
- 3:14:00डन है अब इसको चला के देखते हैं दोबारा से
- 3:14:03देखो पहले व्हीकल का कंस्ट्रक्टर बना फिर
- 3:14:06मोटरसाइकिल बनी ठीक है क्योंकि व्हीकल
- 3:14:08मोटरसाइकिल इज़ अ व्हीकल तो व्हीकल पहले
- 3:14:10कॉल होगा उसका कंस्ट्रक्टर फिर उसके बाद
- 3:14:12इंजन इज़ स्टार्टिंग फॉर BMW VXI वो वीविली
- 3:14:15कर रही है BMW फिर उसके बाद इंजन स्टॉपिंग
- 3:14:17ऑफ़ BMW VXI डन। ठीक है? तो यह था सिंपल
- 3:14:21एग्जांपल आपका इन्हहेरिटेंस का। अगर इसको
- 3:14:23मैं बोलूं तो हिरार्किकल इनहेरिटेंस बन
- 3:14:25रही है। ये ठीक है? याद करो जो हमने
- 3:14:27टाइप्स ऑफ इनहेरिटेंस पढ़ी थी उसके अंदर
- 3:14:30अगर एक क्लास से दो चाइल्ड बन रहे हैं तो
- 3:14:34उसको हिरारकिकल कह देते हैं हम। ठीक है?
- 3:14:36और इसको मैं क्या बोलूंगा? ये सिंपल सिंगल
- 3:14:38इनहेरिटेंस है। डन। तो फटाफट से देखते हैं
- 3:14:40डिस्ट्रक्टर का बिहेवियर क्या होगा? ठीक
- 3:14:41है? हमने बोला कि बेस क्लास का
- 3:14:42कंस्ट्रक्टर पहले कॉल होगा। फिर फिर
- 3:14:44डिराइव्ड क्लास का कंस्ट्रक्टर कॉल होगा।
- 3:14:46डिस्ट्रक्टर का बिहेवियर देते हैं। देखते
- 3:14:48हैं। तो अगर मैं इसका डिस्ट्रक्टर बनाऊं।
- 3:14:49ठीक है? इसका डिस्ट्रक्टर बनाते हैं फटाफट
- 3:14:51से। व्हीकल का डिस्ट्रक्टर आपको याद होगा।
- 3:14:53तो हम डेल्टा डाल के इस तरीके से
- 3:14:56डिस्ट्रक्टर बनाते थे। इसके अंदर मैं लिख
- 3:14:57देता हूं आई एम इनसाइड
- 3:15:02व्हीकल
- 3:15:03डिटर। ठीक है? सेम काम मैं करूंगा किसके
- 3:15:06साथ? कार के साथ। ठीक है? यहां पे लिख
- 3:15:10देते हैं कार। ठीक है? आई एम इनसाइड कार
- 3:15:13डिटोर। ठीक है? सेम काम हम कर देते हैं
- 3:15:16मोटरसाइकिल के साथ। मोटरसाइकिल
- 3:15:20ये क्या लिख गया? मोटरसाइकिल। ठीक है? आई
- 3:15:23एम इनसाइड मोटरसाइकिल डिस्ट्रक्टर। ठीक
- 3:15:26है? अब गेस करो क्या होता है? क्या होगा?
- 3:15:28क्या होगा? देखते हैं। तो अगर आप इधर
- 3:15:32आउटपुट देखो तो सबसे पहले आई एम क आई एम
- 3:15:35इनसाइड व्हीकल कंस्ट्रक्टर। ठीक है? तो
- 3:15:36कार का ऑब्जेक्ट बना रहे हो तो उससे पहले
- 3:15:38उसका बेस क्लास का कंस्ट्रक्टर कॉल हो
- 3:15:40गया। फिर कार का कंस्ट्रक्टर कॉल हुआ। फिर
- 3:15:43यह कार ने मस्त इंजन स्टार्ट किया।
- 3:15:45एसीवीसी ऑन किया। फिर कार बंद कर दी। ठीक
- 3:15:47है? फिर अगेन आई एम इनसाइड व्हीकल
- 3:15:50कंस्ट्रक्टर। ठीक है? क्योंकि मोटरसाइकिल
- 3:15:52बन रही है। अब है ना? मोटरसाइकिल का
- 3:15:54कंस्ट्रक्टर कॉल हो रहा है। तो मोटरसाइकिल
- 3:15:56के कंस्ट्रक्टर ने व्हीकल का कंस्ट्रक्टर
- 3:15:57कॉल कर दिया फर्दर क्योंकि व्हीकल पहले
- 3:15:59बननी है। उसके बाद आपने मोटरसाइकिल
- 3:16:01कंस्ट्रक्टर कॉल किया। फिर इंजन इज़
- 3:16:03स्टार्टिंग फॉर BMWXI फिर व्हील कर रही
- 3:16:05है। इंजन इज़ स्टॉपिंग फॉर BMW VXI अब
- 3:16:07ध्यान से देखो। आई एम इंसाइड मोटरसाइकिल
- 3:16:10डिस्ट्रक्टर। ठीक है? यानी कि डिस्ट्रक्टर
- 3:16:12की कॉल में मोटरसाइकिल का डिस्ट्रक्टर
- 3:16:15पहले कॉल हो रहा है। उसके बाद व्हीकल
- 3:16:17डिस्ट्रक्टर कॉल हो रहा है। ठीक है? अगर
- 3:16:18ये कंफ्यूजन हो रही है तो एक काम करते
- 3:16:20हैं। दोनों में से कोई एक रख लेते हैं।
- 3:16:22ठीक है? तब ज्यादा अच्छे से समझ आएगा। अगर
- 3:16:24मैं इसको रखता हूं तो अब देखते हैं। तो आई
- 3:16:26एम इनसाइड। ठीक है? अगेन पहले बेस क्लास
- 3:16:29का कंस्ट्रक्टर कॉल हुआ। फिर डिराइव्ड
- 3:16:30क्लास का कंस्ट्रक्टर कॉल हुआ। फिर बहुत
- 3:16:31सारी चीजें हुई। तो जब डिस्ट्रक्टर के कॉल
- 3:16:33की बारी आई तो सबसे पहले कार का
- 3:16:36डिस्ट्रक्टर कॉल हुआ है। ठीक है? और उसके
- 3:16:38बाद व्हीकल का कंस्ट्रक्टर कॉल हुआ है।
- 3:16:41ठीक है? अब समझो इस बात को। यानी कि जब
- 3:16:43मैं कंस्ट्रक्शन कर रहा हूं तो सबसे पहले
- 3:16:46बेस क्लास का कंस्ट्रक्टर कॉल होगा। फिर
- 3:16:48उसके बाद डिराइव्ड क्लास का कंस्ट्रक्टर
- 3:16:50कॉल होगा। जब मैं डिस्ट्रक्शन कर रहा हूं।
- 3:16:52ठीक है? डिस्ट्रक्शन कर रहा हूं तो उस
- 3:16:53टाइम पे डिराइव्ड क्लास का कंस्ट्रक्टर
- 3:16:55पहले डिस्ट्रक्टर पहले कॉल होगा। उसके बाद
- 3:16:58बेस क्लास का डिस्ट्रक्टर कॉल होगा। अगेन
- 3:16:59दोबारा रिपीट करता हूं। सबसे पहले जब भी
- 3:17:03कोई डिराइव्ड क्लास का ऑब्जेक्ट बनाओगे।
- 3:17:05ठीक है? तो डिराइव्ड क्लास का ऑब्जेक्ट
- 3:17:07सबसे पहले कॉल करेगा अपने बेस क्लास के
- 3:17:10कंस्ट्रक्टर को। तो बेस क्लास का
- 3:17:12कंस्ट्रक्टर कॉल होगा। फिर उसके बाद आपका
- 3:17:14डिराइव्ड क्लास का कंस्ट्रक्टर कॉल होगा।
- 3:17:16फिर बहुत सारा काम होगा। उसके बाद
- 3:17:18डिस्ट्रक्शन के बारे में सबसे पहले
- 3:17:20डिराइव्ड क्लास का डिस्ट्रक्टर कॉल होगा।
- 3:17:22फिर बेस क्लास का डिस्ट्रक्टर कॉल होगा।
- 3:17:23इस चीज को लिख लेते हैं। ठीक है? ओके? तो,
- 3:17:26यह था आपका सिंपल एग्जांपल इन्हहेरिटेंस
- 3:17:28का जिसमें कि हमने मोड ऑफ़ इनहेरिटेंस
- 3:17:30देखा। ठीक है? मोड ऑफ़ इनहेरिटेंस में आप
- 3:17:31एक्सपेरिमेंट करोगे बैठकर। है ना? चीजें
- 3:17:34डाल के देखोगे कि अगर मैं प्राइवेट मेंबर
- 3:17:37को कैसे बिहेव करते हैं? प्रोटेक्टेड मोड
- 3:17:39में कैसे होता है। पब्लिक मोड में कैसे
- 3:17:40होता है। ठीक है? ऑलमोस्ट मोस्टली
- 3:17:42एग्जांपल मैं इसमें आपको बता ही चुका हूं।
- 3:17:46ठीक है? नेक्स्ट नेक्स्ट अगर आप देखो तो
- 3:17:49हमने पढ़ा था टाइप्स ऑफ इनहेरिटेंस। है
- 3:17:52ना? टाइप्स ऑफ इनहेरिटेंस के अंदर बहुत
- 3:17:53सारे टाइप्स पढ़े थे हमने। है ना? और हमने
- 3:17:55पूरा ऑर्गेनाइजेशन स्ट्रक्चर बनाया था।
- 3:17:57इसके अंदर एंप्लाइजज़ थे, डेवलपर्स थे। है
- 3:17:59ना? बहुत सारी चीजें थी। तो उसका कोड हमने
- 3:18:01किया हुआ है। उसके कोड को समझते हैं।
- 3:18:03ध्यान से देखते हैं। अब तो सपोज़ करते हैं।
- 3:18:04सबसे पहले आपने बेस क्लास बनाई है एक। ठीक
- 3:18:06है? और ये बेस क्लास किस प्रकार की है?
- 3:18:08एंप्लई क्लास की। है ना? याद करो ये वाला
- 3:18:10डायग्राम हमने पढ़ा था। ये वाला डायग्राम।
- 3:18:12तो हमने क्या बोला कि एक एंप्लई क्लास
- 3:18:14बनाई। एम्प्लई क्लास बनाई। उसके अंदर नेम
- 3:18:16है, आईडी है और डिस्प्ले मेंबर है। तो
- 3:18:18हमने बोला प्रोटे प्रोटेक्टेड क्या-क्या
- 3:18:20है? नेम और आईडी प्रोटेक्टेड है। उसके बाद
- 3:18:22आपका डिस्प्ले है। ये आपका डिस्प्ले है।
- 3:18:25ठीक है? और ये आपका एंप्लॉय है। तो ये
- 3:18:27एंप्लॉय का कंस्ट्रक्टर लिखा हुआ है।
- 3:18:28एंप्लॉय कंस्ट्रक्टर। इसको हम क्या बोलते
- 3:18:30थे? इनिशलाइज़ेशन लिस्ट। ठीक है?
- 3:18:31इनिशलाइज़ेशन लिस्ट की तरीके से लिखा हुआ
- 3:18:33है यह। नेक्स्ट। अब अगर आप नीचे आओगे,
- 3:18:37नीचे आओगे, तो ये क्या है? डिराइव्ड क्लास
- 3:18:39फॉर सिंगल इन्हहेरिटेंस। ठीक है? तो, सबसे
- 3:18:41पहले हम सिंगल इन्हहेरिटेंस का एग्जांपल
- 3:18:42देख लेते हैं। ठीक है? इस सारे कोड को
- 3:18:44इग्नोर करेंगे। अभी हम इन सबको उठाकर मैं
- 3:18:47कमेंट कर देता हूं बस।
- 3:18:50ठीक है? तो सिंगल इनहेरिटेंस में हमने
- 3:18:52क्या एग्जांपल देखा था? याद करो। हमने ये
- 3:18:54एग्जांपल देखा था। ये ये ये तो एंप्लॉय
- 3:18:56है। एंप्लॉय क्लास को इन्हहेरिट करके एक
- 3:18:59डेवलपर बना हुआ है। ठीक है? तो देखें
- 3:19:00एंप्लॉय है। एंप्लॉय क्लास को इनहेरिट
- 3:19:02करके कैसे इनहेरिट हुआ है? क्लास डेवलपर
- 3:19:04बनी है। पब्लिक मोड में इन्हनेट किया है।
- 3:19:06पब्लिक मोड में इनहेरिट का मतलब है कि
- 3:19:07प्रोटेक्टेड मेंबर यहां पे एज अ
- 3:19:09प्रोटेक्टेड ही आएंगे और पब्लिक एज ए
- 3:19:10पब्लिक ही आएंगे। ये होता है पब्लिक मोड
- 3:19:12में इनहेरिट करने का मतलब। अब एंप्लॉय
- 3:19:14एंप्लॉय इसकी बेस क्लास हो गई। ठीक है? और
- 3:19:18इसका कुछ प्राइवेट मेंबर है जो कि है एक
- 3:19:20स्टैंडर्ड स्ट्रिंग प्रोग्रामिंग लैंग्वेज
- 3:19:22कि किस प्रोग्रामिंग लैंग्वेज में काम
- 3:19:24करता है वो डन। ठीक है? अब ध्यान से देखो।
- 3:19:27मैंने बोला यहां डेवलपर है। ठीक है?
- 3:19:29डेवलपर है तो हमने सबसे पहले स्ट्रिंग ले
- 3:19:32ली यहां पर। ठीक है? स्ट्रिंग ले ली। यहां
- 3:19:34पर ईएमपी नेम। ठीक है? एंप्लॉय नेम। ठीक
- 3:19:38है? एंप्लई नेम क्यों आया यहां पर? एंप्लई
- 3:19:40नेम ध्यान से देखो। यह आपका बेस क्लास है।
- 3:19:43एंप्लई की बेस क्लास के अंदर एंप्लई क्लास
- 3:19:46के अंदर नेम और एंप्लई आईडी है। और इसी को
- 3:19:48इन्हहेरिट करके क्योंकि डेवलपर क्लास बनी
- 3:19:50है। तो इसके अंदर ये दोनों चीजें आ गई
- 3:19:52होंगी क्योंकि ये प्रोटेक्टेड हैं।
- 3:19:53प्रोटेक्टेड चीजें इन्हहेरिट हो जाती हैं।
- 3:19:55है ना? तो क्योंकि डेवलपर इज़ अ एंप्लॉय।
- 3:19:58तो डेवलपर इज़ अ एंप्लॉय के चक्कर में
- 3:20:01एंप्लॉय के अंदर जितनी चीजें हैं,
- 3:20:03प्रोटेक्टेड चीजें थी, वो डेवलपर के अंदर
- 3:20:05भी आ गई हैं। तो उन्हें इनिशलाइज़ करना
- 3:20:07पड़ेगा। ठीक है? यही हमने देखा था व्हीकल
- 3:20:08क्लार के अंदर।
- 3:20:10तो हमने ले लिया आपका ईएमपी नेम। ठीक है?
- 3:20:13यह कॉस्ट क्या है? यह आपको पता ही होगा।
- 3:20:16कॉस्ट वेरिएबल लिया हमने ताकि यह चेंज ना
- 3:20:18हो पाए। ठीक है? इसको हटा भी सकते हैं।
- 3:20:20कोई मैटर नहीं करता है ये। ठीक है? इंट
- 3:20:22एंप्लई आईडी और आपने लैंग्वेज ले ली। ठीक
- 3:20:24है? अब नेक्स्ट आपने क्या किया? डेवलपर के
- 3:20:28कंस्ट्रक्टर के अंदर आपने एंप्लॉय के
- 3:20:30कॉस्पोंडिंग चीजों को इनिशलाइज़ करने के
- 3:20:32लिए भेज दिया। एंप्लॉय का कंस्ट्रक्टर
- 3:20:34क्या कहता है? कि पहले एंप्लई नेम भेजो और
- 3:20:36एंप्लॉय आईडी भेजो। तो आपने एंप्लॉय नेम
- 3:20:38भेज दिया। एंप्लॉय आईडी भेज दी। ठीक है?
- 3:20:40नेक्स्ट जो डेवलपर के कॉस्पोंडिंग जो आपकी
- 3:20:43स्पेसिफिक प्रॉपर्टीज हैं जो कि
- 3:20:44प्रोग्रामिंग लैंग्वेज है उसको इनिशलाइज़
- 3:20:46किया हमने। ठीक है? इसको हम ऐसे भी लिख
- 3:20:47सकते थे जो कि इनिशलाइजेशन लिस्ट है। इसको
- 3:20:49हम ऐसे भी लिख सकते थे कि भाई दिस का
- 3:20:52प्रोग्रामिंग लैंग्वेज इक्वल टू लैंग।
- 3:20:55इसको हम ऐसे भी लिख सकते थे। ठीक है?
- 3:20:56दोनों ही मेथड चल जाते हैं।
- 3:20:59शो अब जो शो फंक्शन है, शो फंक्शन क्या
- 3:21:01करता है? डिस्प्ले करता है सबसे पहले कौन?
- 3:21:03अब देखो ये डिस्प्ले तो भैया यहां नजर ही
- 3:21:05नहीं आ रहा डेवलपर के अंदर। ध्यान से
- 3:21:06देखो। अगर मैं क्लास डायग्राम की बात करूं
- 3:21:08क्या यहां पर डेवलपर के अंदर डिस्प्ले था?
- 3:21:10नहीं। क्योंकि यह इन्हहेरिट कर रहा था
- 3:21:12किससे? एंप्लॉय से। तो, यह डिस्प्ले भी
- 3:21:14यहां पर आ गया होगा। ठीक है? इतना पॉइंट
- 3:21:16इतना चीज डन है। अब नेक्स्ट देखो डिस्प्ले
- 3:21:19हमने कॉल किया। फिर उसके बाद हमने बोल
- 3:21:21दिया स्पेशलाइजेशन डेवलपर है और
- 3:21:23प्रोग्रामिंग लैंग्वेज उसकी ये है। ठीक
- 3:21:25है? अब इसको चला के देखते हैं। तो अभी के
- 3:21:26लिए हमारे पास दो क्लास बनी है। एक
- 3:21:28एंप्लॉय और एक डेवलपर। सिंगल इनहेरिटेंस
- 3:21:30का एग्जांपल है। अब इसको हम चला कर देखते
- 3:21:32हैं। तो हमने डेव बोला। डेव के अंदर सबसे
- 3:21:34पहले मुझे क्या भेजना था? नाम भेजना था और
- 3:21:36उसकी आईडी भेजनी थी। एंप्लॉय आईडी उसकी
- 3:21:38स्पेशलाइजेशन बोलनी थी। कौन सी
- 3:21:40प्रोग्रामिंग लैंग्वेज उसकी स्पेशलिटी है।
- 3:21:41हमने डेव डॉट शो कॉल किया। अब इसको को चला
- 3:21:44के देखते हैं फटाफट।
- 3:21:46तो देखो एंप्लॉय है आपका रामू काका आईडी
- 3:21:49उसकी 1001 है और स्पेशलाइजेशन डेवलपर है।
- 3:21:51प्रोग्रामिंग लैंग्वेज उसकी C++ है। ठीक
- 3:21:54है? डन है? इतना काम हो गया।
- 3:21:58ओके। अब मैंने सिंगल इनहेरिटेंस का एक
- 3:22:00एग्जांपल देख लिया। नेक्स्ट देखते हैं।
- 3:22:02मल्टीपल इन्हहेरिटेंस। ठीक है? मल्टीपल
- 3:22:04इनहेरिटेंस का क्या मतलब था? मल्टीपल
- 3:22:05इनहेरिटेंस ऐसा था कि आपका एक ही क्लास जो
- 3:22:09बन रही है वह दो लोगों से इनहेरिट कर रही
- 3:22:12है। ठीक है? और ध्यान से देखो यहां तो तीन
- 3:22:14लोगों से इनहेर कर रही है। क्योंकि जो
- 3:22:15आपका टैक लीड है, टेक लीड एंप्लॉय भी है,
- 3:22:18वो एक प्रोजेक्ट मैनेजर भी है, वो एक टीम
- 3:22:20भी है। तो इन सबके साथ इज़ अ रिलेशनशिप में
- 3:22:22है। तो दिस इज़ कॉल्ड मल्टीपल
- 3:22:24इन्हहेरिटेंस। ठीक है? तो मल्टीपल
- 3:22:25इनहेरिटेंस देखिए। तो, सबसे पहले मैं
- 3:22:26प्रोजेक्ट मैनेजर क्लास बनाई। एंप्लई
- 3:22:28क्लास तो आपकी बनी हुई है यहां पे। यह
- 3:22:29एंप्लई तो बनी हुई है। मुझे प्रोजेक्ट
- 3:22:31मैनेजर बनानी है फिर टीम लीड बनानी है।
- 3:22:32प्रोजेक्ट मैनेजर के अंदर प्रोटेक्टेड
- 3:22:34मेंबर आपका प्रोजेक्ट मैनेजर कौन सा है?
- 3:22:35है ना? और आपका यह हमने इसका कंस्ट्रक्टर
- 3:22:39लिखा हुआ है। ठीक है? प्रोजेक्ट कौन सा
- 3:22:41मैनेज करता है वो यहां पर आके स्टोर हो
- 3:22:43जाएगा। और प्रोजेक्ट मैनेजर मैपिंग हमने
- 3:22:46यहां पे डाल दिया कि प्रोजेक्ट मैनेजर जो
- 3:22:48है कौन से प्रोजेक्ट को मैनेज कर रहा है।
- 3:22:49ठीक है? मैनेज प्रोजेक्ट नाम का हमने
- 3:22:51फंक्शन बना दिया। ठीक है? यही चीज़ हमने
- 3:22:53बनाई थी यहां पर। ठीक है? सिमिलरली टीम
- 3:22:55लीड। अब ध्यान से देखो। प्रोजेक्ट मैनेजर
- 3:22:57और टीमड किसी को इनहेरिट नहीं कर रही। यह
- 3:22:58बेस क्लास है। ठीक है? यह किसी से
- 3:23:00इन्हहेरिट होके नहीं आई है। टीम लीड देखते
- 3:23:02हैं। टीम लीड के अंदर क्या था? टीम का
- 3:23:04साइज़। इतनी बड़ी टीम को लीड कर रहे हो भाई
- 3:23:05आप। है ना? फिर उसके बाद इसका कंस्ट्रक्टर
- 3:23:07लिखा। ठीक है? उसके बाद लीड टीम एक फंक्शन
- 3:23:09है कि टीम लीड हो रही है। ठीक है? इसका
- 3:23:11साइज़ इतना है। अब इन दोनों क्लास
- 3:23:14प्रोजेक्ट मैनेजर और टीम लीड और एंप्लॉय
- 3:23:16इन तीनों को मिलकर एक क्लास बनी है जिसका
- 3:23:18नाम है टेक लीड। ध्यान से देखो। क्लास बनी
- 3:23:22है टेक लीड। उसके मल्टीबल इनहेरिटेंस कैसे
- 3:23:24दिखाते हैं? C++s में। आप एक कॉलन डालते
- 3:23:26हो। फिर आप बोलते हो कि एक्सेस मॉडिफायर
- 3:23:29स्पेसिफाई करते हो यहां पे कि कौन से किस
- 3:23:31टाइप से इन्हहेरिट कर रहे हो। मैंने बोला
- 3:23:32एंप्लई को हम पब्लिक मोड में इनहेरिट
- 3:23:34करेंगे। प्रोजेक्ट मैनेजर को हम पब्लिक
- 3:23:35मोड में कर रहे हैं और टीम लीड को भी
- 3:23:37पब्लिक मोड में इनहेरिट कर रहे हैं। तो इन
- 3:23:38सबको इस मोड में इनहेरिट करा। इन्हहेरिट
- 3:23:40करने के बाद पब्लिक मेथड लिखा हमने जो कि
- 3:23:42इसका है कंस्ट्रक्टर। अब ध्यान से देखो।
- 3:23:46क्या था? कार का कंस्ट्रक्टर जब मैं लिख
- 3:23:49रहा था तो मैं व्हीकल के कॉस्पोंडिंग
- 3:23:51चीजों को इनिशलाइज़ करने के लिए व्हीकल
- 3:23:53वाले कंस्ट्रक्टर को भी कॉल करता था। यस
- 3:23:56और नो। तो मुझे सेम काम यहां करना होगा।
- 3:23:57जब मैं टीम लीड का कंस्ट्रक्टर लिख रहा
- 3:23:59हूं क्योंकि टीम लीड तीन अलग-अलग क्लासेस
- 3:24:03को इन्हहेरिट कर रही है तो उनके
- 3:24:04कॉस्पोंडिंग जितनी वैल्यूज़ हैं उनको मुझे
- 3:24:06इनिशलाइज़ करना पड़ेगा। ठीक है? ध्यान से
- 3:24:08देखो। ये जो टीम लीड है देखो टीम लीड का
- 3:24:11खुद का कोई डेटा मेंबर नहीं है। ठीक है?
- 3:24:13इसको इग्नोर करते हैं। तो टीम लीड का खुद
- 3:24:15का कोई डेटा मेंबर नहीं है। बट वो इन इसको
- 3:24:17भी इन्हहेरिट कर रहा है। वो इसको भी
- 3:24:19इन्हहेरिट कर रहा है और वो इसको भी
- 3:24:20इन्हहेरिट कर रहा है। क्योंकि इन तीनों
- 3:24:22चीजों को इनहेरिट कर रहा है। तो इन तीनों
- 3:24:23चीजों को भी मुझे इनिशलाइज़ कराना पड़ेगा।
- 3:24:25उसके लिए मैं क्या कर रहा हूं? इन तीनों
- 3:24:26चीजों को लिया लिया। एंप्लॉय एंप्लई
- 3:24:28स्पेसिफिक डेटा को लिया मैंने। एंप्लई
- 3:24:30नेम, एंप्लई आईडी।
- 3:24:32यह प्रोजेक्ट किसके लिए है? प्रोजेक्ट है
- 3:24:34आपका प्रोजेक्ट मैनेजर कि भाई प्रोजेक्ट
- 3:24:36मैनेज कौन सा प्रोजेक्ट मैनेज कर रहे हो?
- 3:24:37जी आप टीम साइज कौन सी क्लास के लिए? ये
- 3:24:40टीम साइज है टीम लीड।
- 3:24:42ठीक है? सबसे पहले मैंने कॉल किया एंप्लई।
- 3:24:44ठीक है? एंप्लॉय के कॉस्पोंडिंग वैल्यूज़
- 3:24:46को इनिशलाइज़ कर दिया। क्योंकि आपका टेक
- 3:24:48लीड जो है वो एंप्लई क्लास को इन्हहेरिट
- 3:24:50कर रही है। फिर प्रोजेक्ट मैनेजर कि कौन
- 3:24:52सा प्रोजेक्ट मैनेज कर रहे हो? जी बताओ।
- 3:24:54ठीक है? फिर उसके बाद टीम लीड इन तीनों के
- 3:24:56कंस्ट्रक्टर को कॉल किया। ठीक है? और कॉल
- 3:24:58करने के बाद मैंने एक फंक्शन बनाया
- 3:24:59डिस्प्ले इनफो करके। ठीक है? डिस्प्ले
- 3:25:02इनफो फंक्शन अगर आप ध्यान से देखोगे इसके
- 3:25:04अंदर क्या हो रहा है? डिस्प्ले कॉल हुआ।
- 3:25:06ठीक है? तो हमारे पास से पब्लिक मेथड है
- 3:25:07डिस्प्ले इनफो। डिस्प्ले इनफोक्शन में
- 3:25:09सबसे पहले मैंने डिस्प्ले फंक्शन कॉल किया
- 3:25:10है। डिस्प्ले फंक्शन किसका था? एंप्लॉय
- 3:25:12का। क्योंकि यहां पे एक ही पब्लिक मेंबर
- 3:25:14था। मैंने पब्लिक मोड में इनहेड किया है।
- 3:25:15तो यहां पर यह आ गया है। ठीक है? सिमिलरली
- 3:25:18मैनेज प्रोजेक्ट भी आ गया है। टीम लीड भी
- 3:25:20आ गया है। ठीक है? है तो डिस्प्ले फंक्शन
- 3:25:22डिस्प्ले इनफो इन तीनों फंक्शनंस को कॉल
- 3:25:24करेगा। ध्यान से देखो। डिस्प्ले इनफो
- 3:25:26डिस्प्ले को कॉल कर रहा है। फिर मैनेज
- 3:25:27प्रोजेक्ट को फिर टीम लीड को। ठीक है? अब
- 3:25:29देखते हैं इसके इसके एग्जांपल को चला कर
- 3:25:32देखते हैं। तो अगर सिंगल इनहेरिडेंस का
- 3:25:34एग्जांपल मैं ऑफ करूं और इन दोनों को मैं
- 3:25:36ऑन करता हूं। तो हमने टैक लीड बनाया है
- 3:25:39अन्ना देव। ठीक है? अन्ना देव सबसे पहले
- 3:25:41क्या है? टेक लीड के आगे कंस्ट्रक्टर में
- 3:25:43जाएं। एंप्लॉय नेम, एंप्लॉय आईडी,
- 3:25:45प्रोजेक्ट में प्रोजेक्ट और टीम साइज़। तो
- 3:25:47एंप्लॉय नेम, एंप्लॉय आईडी, प्रोजेक्ट
- 3:25:49एक्स और टीम साइज फाइव। ठीक है? अब ध्यान
- 3:25:52से देखते हैं। यह सब कुछ चल जाएगा।
- 3:25:55एंप्लॉय है अन्ना देव। आईडी यह है आपके
- 3:25:57मैनेजर मैनेजर साहब हैं। यह प्रोजेक्ट
- 3:25:59मैनेज करते हैं प्रोजेक्ट टैक्स और टीम को
- 3:26:01भी लीड करते हैं फाइव मेंबर्स की। ठीक है?
- 3:26:04क्योंकि यह एक टेक एलीड है। ठीक है? तो,
- 3:26:07यह हो गया मल्टीपल इनहेरिटेंस का एग्जांपल
- 3:26:09कि तीन तीन आप तीन क्लासेस से इन्हेरिट कर
- 3:26:12रहे हो अपने इसको। ठीक है? नेक्स्ट।
- 3:26:14नेक्स्ट हम देखते हैं मल्टी लेवल
- 3:26:16इन्हहेरिटेंस। ठीक है? मल्टी लेवल
- 3:26:17इनहेरिटेंस की बात करें अगर हम
- 3:26:21तो सबसे पहले मेरे पास एचआर मैनेजर ले
- 3:26:23लिया मैंने। ठीक है? अभी मल्टी लेवल हमारा
- 3:26:25क्या है? ये रहा। मेरे पास एचआर मैनेजर
- 3:26:27है। ठीक है? और एचआर मैनेजर के बाद उसमें
- 3:26:31क्या-क्या है? उसके खुद का कोई वेरिएबल
- 3:26:33नहीं है। ठीक है? बस वो एंप्लई क्लास को
- 3:26:35इन्हहेरिट कर रहा है। एंप्लई क्लास को
- 3:26:37क्योंकि इन्हहेरिट कर रहा है। तो हमने
- 3:26:38एंप्लई के कंस्ट्रक्टर को यहां पे कॉल
- 3:26:39किया है। ठीक है? ये हैंडल करता है एचआर
- 3:26:42ड्यूटीज़ को। ठीक है? एचआर डायरेक्टर बनाया
- 3:26:44हमने एचआर डायरेक्टर एचआर मैनेजर को
- 3:26:46इन्हहेरिट कर रहा है क्योंकि एक एचआर
- 3:26:47डायरेक्टर एचआर मैनेजर भी होगा है ना तो
- 3:26:51हमने इस प्रकार इसको यहां पर डाला है यहां
- 3:26:53पे इसका कंस्ट्रक्टर है एचआर एचआर
- 3:26:55डायरेक्टर जो है वह एचआर मैनेजर के
- 3:26:58कंस्ट्रक्टर को कॉल कर रहा है क्योंकि
- 3:27:00एचआर मैनेजर के कंस्ट्रक्टर को कॉल करने
- 3:27:02के बाद वह फर्दर कॉल कर रहा है एंप्लॉय को
- 3:27:05तो ध्यान से देखो जब मैं एचआर डायरेक्टर
- 3:27:08का ऑब्जेक्ट बनाऊंगा ठीक है यहां पे बना
- 3:27:11रहे होंगे हम यहां पर देखते हैं हम एचआर
- 3:27:13डायरेक्टर का
- 3:27:16यह मैंने किया एचआर डायरेक्टर लसी मैम है
- 3:27:18ना तो जब मैं एचआर डायरेक्टर का
- 3:27:20कंस्ट्रक्टर कॉल करूंगा तो क्या होगा एचआर
- 3:27:22डायरेक्टर का कंस्ट्रक्टर में ये कॉल होगा
- 3:27:23तो सबसे पहले इसका कंस्ट्रक्टर कॉल होगा
- 3:27:25ठीक है यहां पे हम प्रिंट भी करा के देख
- 3:27:27सकते हैं सी आउट ठीक है एक मैक होता है
- 3:27:30जिसको हम ऐसे करके लिख सकते हैं फंक्शन
- 3:27:34तो ये फंक्शन का नाम प्रिंट हो जाएगा आपके
- 3:27:37ये बड़ा ब्यूटीफुल मेथड है ध्यान से देखते
- 3:27:39हैं
- 3:27:41हमने मैंने यूज़ नेम्स पे एसटीडी नहीं लिखा
- 3:27:43है। तो मुझे एसटीडी यहां पे लिखना पड़ेगा।
- 3:27:47डन। ठीक है? तो अब ध्यान से देखो। अब इस
- 3:27:50लाइन को मैं यहां पे पेस्ट कर देता हूं।
- 3:27:52बहुत ब्यूटीफुल मेथड है ये। इससे क्या
- 3:27:53होगा ना आपका फंक्शन का नाम प्रिंट हो
- 3:27:54जाएगा। आपको लिखना भी नहीं पड़ेगा। ठीक
- 3:27:57है? एचआर मैनेजर और आपका एंप्लई के अंदर
- 3:27:59भी हम यहां पर एक यहां पर डाल देते हैं।
- 3:28:04डन। अब समझते हैं। तो अगर मैं हिरारकी
- 3:28:07देखूं तो एचआर डायरेक्टर जो है वो एचआर
- 3:28:09मैनेजर भी है और एचआर मैनेजर एंप्लॉय है।
- 3:28:12ठीक है? तो जब मैं एचआर डायरेक्टर का
- 3:28:13इंस्टेंस बनाऊंगा। ठीक है? एचआर डायरेक्टर
- 3:28:15का इंस्टेंस बनाऊंगा तो ये किसको
- 3:28:17इन्हहेरिट कर रहा होगा? ये किसको इनहेरिट
- 3:28:19करेगा? एचआर मैनेजर। एचआर मैनेजर एंप्लई
- 3:28:20को इनहेरिट कर रहा है। तो एंप्लई के अंदर
- 3:28:22नेम और एंप्लॉय आईडी है। तो ये सब भी आपका
- 3:28:25जो डाटा मेंबर्स है वह इधर आ गए होंगे।
- 3:28:27ठीक है? तो इनको भी मुझे इनिशियलाइज़ करना
- 3:28:30पड़ेगा। ठीक है? तो मैंने क्या कहा? मैंने
- 3:28:32बोला एचआर डायरेक्टर लसी मैडम है और उनकी
- 3:28:35एंप्लॉय आईडी यह है। ठीक है? तो जैसे ही
- 3:28:37यह कॉल होगा इसने इसको कॉल किया। अब एचआर
- 3:28:40डायरेक्टर क्योंकि एचआर मैनेजर से इनहेरिट
- 3:28:42कर रहा है तो वो एचआर मैनेजर को कॉल कर
- 3:28:43देगा। एचआर मैनेजर को कॉल किया। अब एचआर
- 3:28:45मैनेजर को कॉल करेगा। अब एचआर मैनेजर जो
- 3:28:47है वो एंप्लॉय एंप्लॉय है तो फाइनली वो
- 3:28:50एंप्लई को कॉल करेगा। फाइनली वो एंप्लॉय
- 3:28:52को कॉल करेगा। तो जो मैंने सब मेन के अंदर
- 3:28:54जो लसी मैम लिखा है वो ऐसे ट्रैवल करता
- 3:28:56हुआ जा रहा है। ध्यान से देखो। ठीक है?
- 3:28:59सबसे पहले वो मेन से ट्रेवल करके एचआर
- 3:29:01डायरेक्टर के कंस्ट्रक्टर में आ रहा है।
- 3:29:02एचआर डायरेक्टर कंस्ट्रक्टर एचआर मैनेजर
- 3:29:03कंस्ट्रक्टर में आ रहा है। एचआर मैनेजर
- 3:29:04कंस्ट्रक्टर में आके एंप्लॉय में आ रहा
- 3:29:06है। तो ये जो आपका फ्लो जा रहा है ये है
- 3:29:08मल्टीलेवल इनहेरिटेंस। ठीक है? अब इसको
- 3:29:10चला के देखें। चलो
- 3:29:13ध्यान से देखो। सबसे पहले
- 3:29:16सबसे पहले क्या हुआ है? हमने क्या कहा था?
- 3:29:18हमने क्या कहा था? सबसे पहले हरार्की के
- 3:29:21अंदर बेस क्लास का जो सबसे बेसिस्ट है,
- 3:29:24सबसे बेसिस्ट बेस क्लास का कंस्ट्रक्टर
- 3:29:26कॉल होगा। तो सबसे पहले एंप्लॉय का
- 3:29:28कंस्ट्रक्टर कॉल हुआ यानी कि इसका
- 3:29:29कंस्ट्रक्टर कॉल हुआ। फिर एचआर मैनेजर
- 3:29:31कंस्ट्रक्टर फिर एचआर डायरेक्टर
- 3:29:32कंस्ट्रक्टर एंप्लॉय का एचआर मैनेजर का
- 3:29:34एचआर डायरेक्टर का तो एचआर मैनेजर
- 3:29:36हैंडलिंग ह्यूमन रिसोर्सेज ड्यूटी एचआर
- 3:29:40डायरेक्टर मैनेजिंग एचआर डिपार्टमेंट।
- 3:29:44ठीक है? तो क्योंकि एचआर डायरेक्टर एचआर
- 3:29:47डायरेक्टर एच एचआर मैनेजर भी है तो इसलिए
- 3:29:49वह एचआर की ड्यूटीज़ भी करेगा। ठीक है? तो
- 3:29:51इसलिए एचआर की ड्यूटी वाला फंक्शन इसके
- 3:29:53अंदर इन्हहेरिट होता है और यह कॉल कर पा
- 3:29:55रहे हैं हम। ठीक है? इसको फटाफट से कमेंट
- 3:29:58करते हैं। नेक्स्ट हम देखते हैं अब
- 3:29:59हिरार्किकल इनहेरिटेंस। ठीक है?
- 3:30:02हिरार्क इनहेरिटेंस देखें हम।
- 3:30:05हिरार्क इनहेरिटेंस हम देखें तो जो
- 3:30:07एंप्लॉय है एंप्लई जो है क्लास ए ठीक है?
- 3:30:10इसको क्लास को बोलूं मैं तो यह
- 3:30:12एग्जीक्यूटिव को, डेवलपर को, आपके मैनेजर
- 3:30:14को और टैकलेट को इन सब को इनहेरिट करती
- 3:30:17है। तो, हम बोल सकते हैं कि ऑलरेडी वी हैव
- 3:30:19एग्जांपल ऑफ़ इन्हहेरिटेंस जो कि हिरारकिकल
- 3:30:23है। राइट? ठीक है? तो इसके अंदर ये वाला
- 3:30:26पाथ भी हम ऐड कर सकते हैं। ये वाला पाथ कि
- 3:30:28एग्जीक्यूटिव है क्योंकि एग्जीक्यूटिव एक
- 3:30:30एंप्लॉय है और सीईओ भी एक सीईओ एक
- 3:30:32एग्जीक्यूटिव है। तो हमने सिमिलरली इस चीज
- 3:30:34को ऐड कर दिया यहां पर। ठीक है? सीईओ
- 3:30:36एग्जीक्यूटिव है। ठीक है? तो अगर मैं इस
- 3:30:38चीज को रन करूंगा यहां पर।
- 3:30:42ठीक है? देवीलाल हमारे सीईओ हैं। ठीक है?
- 3:30:45तो ध्यान से देखो। एंप्लॉय क्या था? यह
- 3:30:47एंप्लॉय का कंस्ट्रक्टर कॉल हो गया था यह।
- 3:30:49तो हम इसको अभी के लिए बंद कर सकते हैं।
- 3:30:56ठीक है? अब चलाते हैं। तो ध्यान से देखो।
- 3:30:58एग्जीक्यूटिव मेकिंग एग्जीक्यूटिव
- 3:31:00डिसीजंस। फिर सीईओ जो है वो लीड कर रहा है
- 3:31:02कंपनी को। समझते हैं इसको कैसे कर रहा है
- 3:31:03ये।
- 3:31:05तो आपके जो सीईओ हैं, सीईओ हैं, वह एक
- 3:31:07एग्जीक्यूटिव है। ठीक है? और जो यह सीईओ
- 3:31:10जो एग्जीक्यूटिव है, एग्जीक्यूटिव फर्दर
- 3:31:12एक एंप्लॉय है। तो, ध्यान से देखो। यह एक
- 3:31:14मल्टी लेवल बन रहा है। यह एक मल्टी लेवल
- 3:31:16बन रहा है। यह एक मल्टी लेवल बन रहा है।
- 3:31:18यह एक मल्टी लेवल बन रहा है। साथ ही साथ
- 3:31:20यह एक सिंगल इनहेरिटेंस है। है ना? तो
- 3:31:23इसके कॉस्पोंडिंग अगर मैं देखूं तो ये सब
- 3:31:25कुछ क्या है? ये हिरार्किकल बन रहा है।
- 3:31:28ठीक है? और ये क्या है? मल्टी लेवल बन रहा
- 3:31:30है। ठीक है? ये भी मल्टीलेवल बन रहा है।
- 3:31:32तो अगर मैं इसको इनको हिरार्किकल मान लूं।
- 3:31:34ठीक है? और इसको मल्टी लेवल मान लूं। इसको
- 3:31:36सिंगल इनहेरिटेंस। तो ये सारा एग्जांपल
- 3:31:38हाइब्रिड की तरफ भी जा रहा है कि हाइब्रिड
- 3:31:40इनहेरिटेंस भी है ये। ठीक है? तो यह था
- 3:31:43आपका टाइप ऑफ इन्हहेरिटेंस। ठीक है? यह
- 3:31:45कोड मैं आपको दे दूंगा। तो इससे आप प्ले
- 3:31:47प्ले अराउंड कर सकते हो। है ना? कि कुछ
- 3:31:49कुछ-कुछ चीजें ऐड करके देखो, समझने की
- 3:31:51कोशिश करो। तो, ये थी सिंपल इन्हहेरिटेंस
- 3:31:53का इंट्रोडक्शन। अब ये इस इन्हहेरिटेंस को
- 3:31:55जब हम लो लेवल डिज़ाइन करेंगे, तो बहुत
- 3:31:57ज्यादा यूटिलाइज़ करने वाले हैं। जहां भी
- 3:31:59हमें इज़ रिलेशनशिप मिलेगा, हम कोशिश
- 3:32:01करेंगे हम कोड को रीयूज़ करें और क्लास को
- 3:32:03जनरलाइज़ कर दें। जनरलाइज़ करने से मेरे को
- 3:32:05क्या फायदा होगा? मुझे बार-बार कोड नहीं
- 3:32:07लिखना पड़ेगा। बार-बार मुझे सेम चीजें
- 3:32:08दोबारा नहीं लिखनी पड़ेंगी। तो आई होप आपको
- 3:32:10समझ आया होगा। व्हाट इज़ टाइप्स ऑफ़
- 3:32:12इनहेरिटेंस। ठीक है? इन्हहेरिटेंस
- 3:32:14इंप्लीमेंट करनी समझ आई होगी। क्या
- 3:32:15सिंटेक्स है? ठीक है? सिंटेक्स इसका बहुत
- 3:32:18ही सिंपल है। हमें कुछ नहीं करना होता। बस
- 3:32:21यहां पे क्लास डिराइव क्लास का नाम लिखना
- 3:32:23होता है और मोड ऑफ़ इनहेरिटेंस देखना होता
- 3:32:24है। मोड ऑफ़ इनहेरिटेंस बहुत ज्यादा
- 3:32:26इंपॉर्टेंट है C++ के अंदर। ठीक है? जावा
- 3:32:28के अंदर ये नहीं होती। तो हमें थोड़ा सा
- 3:32:30एक्स्ट्रा ध्यान रखना पड़ता है कि जिस मोड
- 3:32:32में हम इन्हिट कर रहे हैं तो जिस मोड में
- 3:32:34जब हम इनहेरिट करेंगे, तो बेस क्लास से जो
- 3:32:35जो चीजें आ रही हैं, जब वो चाइल्ड क्लास
- 3:32:38के अंदर आ जाएंगी, तो उनका स्कोप क्या
- 3:32:40होगा? वो मोड ऑफ इनहेरिटेंस डिफाइन करता
- 3:32:42है। उसका एग्जांपल हमने स्टार्टिंग में
- 3:32:43देखा था। तो आई होप आपको ये वीडियो पसंद
- 3:32:45आई होगी। मिलते हैं ऐसी किसी नेक्स्ट
- 3:32:46वीडियो में। तब तक के लिए गुड बाय। इस
- 3:32:48वीडियो में देखने वाले हैं पॉलीमॉर्फिज्म
- 3:32:49इन C++। पॉलीमॉर्फिज्म बहुत ही इंपॉर्टेंट
- 3:32:51टॉपिक है। ऊप्स का एक बहुत ही इंपॉर्टेंट
- 3:32:53पिलर है। अगर इसके मतलब पे जाऊं मैं तो
- 3:32:55पॉलीमॉर्फिज्म का मतलब होता है मेनी
- 3:32:56फॉर्म्स। ठीक है? बहुत सारी फॉर्म्स, बहुत
- 3:32:58सारे अवतार्स, बहुत सारे वेज़ जिसमें हम
- 3:33:02किसी चीज को यूज़ कर सकते हैं। ठीक है? तो
- 3:33:04जैसे कि मैंने बोला है कि ऊप्स इज लाइफ
- 3:33:06हमेशा से बोला है ऊप इन जनरल लाइफ की तरह
- 3:33:09ही है। उसी प्रकार पॉलीमॉर्फिज्म भी लाइफ
- 3:33:12का ही एक पार्ट है। जैसे कि अगर मैं एक
- 3:33:14छोटा सा एग्जांपल लूं अगर एक पर्सन है।
- 3:33:17ठीक है? एक पर्सन है जिसका नाम है राहुल।
- 3:33:21ठीक है? अब राहुल नाम तो राहुल है बट उसके
- 3:33:25फंक्शनंस अलग-अलग हैं। ठीक है? वो बहुत
- 3:33:28सारे डिफरेंट फॉर्म्स में एक्सिस्ट करता
- 3:33:30है। कैसे? कि सपोज़ राहुल क्या है? अपने
- 3:33:33पेरेंट्स के लिए वो सन है। अगर पेरेंट्स
- 3:33:36की बात करें तो बच्चा है उनका। ठीक है?
- 3:33:39अगेन अगर मैं उसके वाइफ के लिए देखूं तो
- 3:33:42वाइफ के लिए वो क्या है? हस्बैंड है। ठीक
- 3:33:45है? अगेन उसके अगर कोई बच्चे हैं तो वो
- 3:33:48अपने चिल्ड्रन के लिए क्या है? चाइल्ड के
- 3:33:50लिए क्या है? वो एक पेरेंट है। ठीक है?
- 3:33:54अपने सिस्टर या फिर ब्रदर के लिए क्या है?
- 3:33:56सिस्टर या फिर ब्रदर के लिए या सिबलिंग के
- 3:33:58लिए क्या है? सिबलिंग के लिए क्या है? वह
- 3:34:00उनका सिबलिंग ही है। ठीक है? भाई है।
- 3:34:03राइट? तो इसका मतलब राहुल एक ही है। पर्सन
- 3:34:07एक ही है। बट वह अलग-अलग फॉर्म्स में
- 3:34:09एक्सिस्ट करता है। ठीक है? अलग-अलग तरीके
- 3:34:11हैं राहुल को देखने के। अलग-अलग बोल सकते
- 3:34:13हैं जॉब फंक्शनंस हैं उसके। ठीक है? बोल
- 3:34:16सकते हैं कि पेरेंट के लिए अलग
- 3:34:17जिम्मेदारियां उसकी, वाइफ के लिए। अलग
- 3:34:19जिम्मेदारियां हैं। एंड सो ऑन। सबकी
- 3:34:20एक्सपेक्टेशन अलग है। सबके लिए। वह एक सब
- 3:34:23उसको अपनी नजर से देखते हैं। ठीक है? तो
- 3:34:25इसका मतलब राहुल बहुत सारे डिफरेंट
- 3:34:27फॉर्म्स में एक्सिस्ट करता है। यानी कि
- 3:34:29राहुल एक पॉलीमॉर्फिक पर्सन है और इन जनरल
- 3:34:33हर पर्सन पॉलीमॉर्फिक होता है। ठीक है?
- 3:34:36लाइफ में। अब बात करते हैं C++ में पे या
- 3:34:39फिर प्रोग्रामिंग वर्ल्ड में आ जाते हैं।
- 3:34:41तो इसी चीज को प्रोग्रामिंग वर्ल्ड में अ
- 3:34:43जो बड़े-बड़े ऊब्स के डिजाइनर्स हैं वो इस
- 3:34:46तरह तरीके से लेके आए। उन्होंने बोला कि
- 3:34:48एक एबिलिटी है। ठीक है? पॉलीमॉर्फिज्म या
- 3:34:50पॉलीमॉर्फिक होना एक एबिलिटी है। तो उसी
- 3:34:53एबिलिटी को हम किसी फंक्शन या ऑपरेटर में
- 3:34:55ले आते हैं। ठीक है? फंक्शन का भी नाम
- 3:34:56होता है। जैसे पर्सन का नाम होता है।
- 3:34:58ऑपरेटर का भी नाम या कुछ काम होता है। ठीक
- 3:35:00है? अगेन पर्सन का भी कुछ नाम या काम होता
- 3:35:03है। तो फॉर्मली अगर जाएं तो द एबिलिटी ऑफ़
- 3:35:05अ सिंगल फंक्शन और ऑपरेटर टू वर्क इन अ
- 3:35:08डिफरेंट वेज़। ठीक है? अलग-अलग तरीके से
- 3:35:11काम करना बेस्ड ऑन द ऑब्जेक्ट इट इज़
- 3:35:13एक्टिंग अपॉन और एक्चुअल नीड। एक्चुअल नीड
- 3:35:15क्या है? उस प्रकार से अलग-अलग तरीके से
- 3:35:16बिहेव करना। ठीक है? इस चीज़ को समझेंगे
- 3:35:18हम। ठीक है? पॉलीमॉर्फिज्म के अंदर तीन
- 3:35:20चार चीजें आती हैं। ओ ढंग से समझेंगे। अभी
- 3:35:22हम थोड़ा सा माइंड में रखते हैं कि मतलब
- 3:35:23अलग-अलग वेज़ में होगी चीजें शायद। है ना?
- 3:35:26ऐसा कुछ दिमाग में रखते हैं। बस एक और
- 3:35:29फॉर्मल डेफिनेशन बोल सकते हैं। फिनोमिना
- 3:35:30दैट अलाउ एन ऑब्जेक्ट टू हैव सेवरल
- 3:35:33डिफरेंट फॉर्म्स। यानी कि एक ऑब्जेक्ट
- 3:35:34ऑब्जेक्ट एक ही है पर उसके अलग-अलग
- 3:35:36फॉर्म्स हैं। फंक्शन है वो अलग-अलग
- 3:35:38बिहेवियर करता है। ठीक है? अभी लग रहा
- 3:35:40होगा भैया क्या बोल रहे हो आप? पर समझेंगे
- 3:35:42आगे एग्जांपल्स के थ्रू। ओके? तो टाइप्स
- 3:35:45पे अगर बात करें तो दो तरीके के
- 3:35:47पॉलीमॉर्फिज्म होते हैं। ठीक है? पहला
- 3:35:49होता है कंपाइल टाइम। कंपाइल टाइम
- 3:35:51पॉलीमॉर्फिज्म। इसको हम स्टैटिक भी बोल
- 3:35:54देते हैं। ठीक है? दूसरा होता है रन टाइम।
- 3:35:57रन टाइम होता है डायनेमिक। अगर अभी थोड़ा
- 3:35:59सा इसका मैं इंट्यूशन देना चाहूं। इसका
- 3:36:00मतलब क्या है? कंपाइल टाइम। कंपाइलर का
- 3:36:02मतलब कंपाइलेशन का मतलब क्या होता है?
- 3:36:03एग्जीक्यूशन से पहले का फ़ज़ जब चीज़ कंपाइल
- 3:36:06होकर एग एग्ज़क्यूट और बनती है। यानी कि
- 3:36:08कंपाइलर काम कर रहा होगा। तो कंपाइल टाइम
- 3:36:10यानी जब कंपाइलर काम कर रहा होता है उस
- 3:36:12टाइम वो कोड को स्टैटिकली देखता है। ठीक
- 3:36:14है? रन तो कर नहीं सकता कंपाइलर क्योंकि
- 3:36:15कंपाइल ही नहीं हुआ है अभी। तो इसको हम
- 3:36:17स्टैटिक पॉलीमरिज्म बोल देते हैं। ठीक है?
- 3:36:19नेक्स्ट होता है रन टाइम। रन टाइम मतलब
- 3:36:21आपका जो आपने ईएक्स बनाई है, जो भी आपने
- 3:36:23एग्जीक्यूट बनाई है, उसको आप डबल क्लिक
- 3:36:25करके रैम में ले ला चुके हो और वो
- 3:36:27एग्जीक्यूट हो रही है। प्रोग्राम एक
- 3:36:28प्रोसेस बन चुका है। अब जब वह प्रोसेस बन
- 3:36:31चुका है, तो यानी कि अब चीज़ें डायनेमिक हो
- 3:36:34गई हैं। ठीक है? अब लाइव हो गई हैं। अब वो
- 3:36:36लोड हो गया है प्रोग्राम तो उसको हम
- 3:36:37डायनामिक पॉलीमॉर्फिज्म कहते हैं। ठीक है?
- 3:36:39डन समझते हैं। ठीक है?
- 3:36:42स्टेप बाय स्टेप समझेंगे। स्टैटिक समझेंगे
- 3:36:44पहले फिर आपका डायनामिक समझेंगे। अच्छे से
- 3:36:46समझ आ जाएगा हमें। तो स्टैटिक
- 3:36:48पॉलीमोर्फिज्म की अगर मैं बात करूं तो
- 3:36:50अगेन कंपाइल टाइम पॉलीमोर्फिज्म कह देते
- 3:36:52हैं इसको। दो तरीके से अचीव कर सकते हो।
- 3:36:55ठीक है? मेनी फॉर्म्स वाली चीज़ दो तरीके
- 3:36:57से अचीव कर सकते हो। पहला है फंक्शन
- 3:36:58ओवरलोडिंग। दूसरा है ऑपरेटर ओवरलोडिंग।
- 3:37:00ठीक है? चलते हैं फंक्शन ओवरलोडिंग पे
- 3:37:02पहले। अब फंक्शन ओवरलोडिंग का मतलब क्या
- 3:37:04होता है? देखो अभी तक आपने देखा होगा कि
- 3:37:06भैया एक फंक्शन होता है। अगर मैंने उसका
- 3:37:08नाम सम रख दिया या एक फंक्शन है उसका नाम
- 3:37:10फन है। एक फंक्शन है जो कि उसका मान लो
- 3:37:12नाम है ड्राइविंग कोई फंक्शन है तो वो एक
- 3:37:15ही होता है। ठीक है? मल्टीपल आप सेम नाम
- 3:37:16के फंक्शन डिफाइन नहीं कर सकते। यस और नो
- 3:37:19आप अभी जाके मल्टीपल सेम नाम के फंक्शन
- 3:37:21डिफाइन करोगे तो आपका कंपाइलर आपको एरर दे
- 3:37:23देगा। ठीक है? तो इस चीज को अचीव करने का
- 3:37:27भी तरीका होता है एक। ठीक है? कैसे? C++
- 3:37:30अलाउ करता है फंक्शन ओवरलोडिंग। किस
- 3:37:32प्रकार किस तरीके से आप अ सेम नेम के
- 3:37:34मल्टीपल फंक्शनंस बना सकते हो। ठीक है?
- 3:37:37अगेन राहुल एक ही था बट उसके मल्टीपल जो
- 3:37:40फंक्शनंस थे, मल्टीपल फॉर्म्स थे।
- 3:37:41सिमिलरली एक ही फंक्शन होगा और उसके
- 3:37:44मल्टीपल काम होंगे। मल्टीपल फॉर्म्स
- 3:37:46होंगे। ठीक है? समझते हैं कैसे? इसको करने
- 3:37:48के लिए आपको क्या करना पड़ता है? आप जैसे
- 3:37:50फंक्शन डिफाइन करते हो तो वैसे ही फंक्शन
- 3:37:52डिफाइन करना है हमें। बस थोड़ा सा डिफरेंस
- 3:37:54रखना पड़ता है फंक्शन डेफिनेशन के अंदर।
- 3:37:56कैसे? जैसे कि यहां सिंपल सा एग्जांपल
- 3:37:58देखो। नाम यहां पर क्या है? सम। यहां पर
- 3:38:01क्या है? सम। पर आपको डिफरेंस नजर आ रहा
- 3:38:03होगा। ठीक है? वह डिफरेंस क्या है?
- 3:38:05मल्टीपल फंक्शनंस और मेथड कैन शेयर सेम
- 3:38:08नेम बट डिफरिंग इन आर्गुमेंट काउंट एंड
- 3:38:12आर्गुमेंट टाइप। यानी कि आर्गुमेंट टाइप
- 3:38:15और आर्गुमेंट काउंट अगर डिफरेंट होंगे, तो
- 3:38:17मैं सेम नाम का फंक्शन बना सकता हूं। या
- 3:38:20फिर इसको दूसरे तरीके से देखें। दूसरे
- 3:38:22एंगल से दूसरे नजर से देखें तो नाम सेम ही
- 3:38:24है सम बट वह काम अलग-अलग कर रहा है। पहला
- 3:38:26यह क्या कर रहा है? ये इंटीजर्स को प्लस
- 3:38:29करता है। ठीक है? ये क्या करता है? ये डबल
- 3:38:33को प्लस करता है। ठीक है? सिमिलरली मैं एक
- 3:38:37और एक और चीज कर सकता हूं कि मैं बोल दूं
- 3:38:39एक इंटीजर को ही प्लस करने वाला मैं
- 3:38:40फंक्शन बना देता हूं। ठीक है? उसके अंदर
- 3:38:43मैं इंट x डाल देता हूं। इंट y डाल देता
- 3:38:45हूं और इंट z डाल देता हूं। और यहां पर
- 3:38:48मैं फिर फंक्शन लिख दूंगा। रिटर्न x + y +
- 3:38:50z. इसका मतलब ये क्या हुआ भैया? इसका मतलब
- 3:38:53यह है कि हमने अभी इसको कहा था कि यह दो
- 3:38:56इंटीजर प्लस कर सकता है सम फंक्शन। अब ये
- 3:38:58क्या कह रहे हैं हम कि यह वाला सम फंक्शन
- 3:39:00तीन इंटीजर प्लस कर सकता है। ऐसे आप बना
- 3:39:02सकते हो। एक और सम फंक्शन जो एरे को इनपुट
- 3:39:05लेता हो कि वो इंटीजर के सारे एरे का सम
- 3:39:07करके दे दे आपको। इसका मतलब नाम वही है पर
- 3:39:10काम अलग-अलग है। इसको हम कहते हैं
- 3:39:12पॉलीमॉर्फिज्म। ठीक है?
- 3:39:15उसको अचीव करने का एक तरीका क्या है?
- 3:39:16स्पेसिफिक नाम है इसका। फंक्शन ओवरलोडिंग
- 3:39:18के थ्रू मैं अचीव कर सकता हूं।
- 3:39:21अब फटाफट से इसको एक बार डेमोंस्ट्रेट
- 3:39:23करते हैं। यूजिंग C++
- 3:39:27एक काम करता हूं। एक क्लास बना देता हूं
- 3:39:29जिसको मैं कह देता हूं ऐड। ऐड नाम की
- 3:39:31क्लास हमने बना दी है। ठीक है? पब्लिक
- 3:39:34मेथड बनाते हैं इसके अंदर। सबसे पहले मैं
- 3:39:37बोलता हूं एक एक फंक्शन बनाते हैं जो कि
- 3:39:40दैट कैन ऐड x + y ठीक है? x और y x एंड y
- 3:39:45टू इंटीजर इंट एडिशन कर सकता है वो। ठीक
- 3:39:48है? तो इसका हम बोलेंगे इंट एडिशन कर रहा
- 3:39:51है तो इंट में ही रिटर्न करेगा। तो इंट सम
- 3:39:54मैंने बोला x ले लो। मैंने बोला y ले लो।
- 3:39:57ठीक है? और रिटर्न कर दो x + y डन।
- 3:40:02मैंने बोला एक और फंक्शन बना दो। एक और
- 3:40:03फंक्शन बना दो। अ वो बना दो कि तीन
- 3:40:06इंटीजर्स प्लस करता हो। ठीक है? तो x को
- 3:40:08प्लस कर दे, y को प्लस कर दे, z को प्लस
- 3:40:10कर दे। ठीक है? थ्री इंटीजर एडिशन। वो
- 3:40:14कैसे करेंगे? इंट मैंने बोला सम। अगेन मैं
- 3:40:16बोल रहा हूं नाम यहां पर सेम है। आपको दो
- 3:40:18तरीके से डिफरेंस इंट्रोड्यूस करना
- 3:40:20पड़ेगा। देखो अगर मैं यह सेम सेम चीज कर
- 3:40:22दूं मैं इसको उठाऊं और इसको यहां डाल दूं
- 3:40:25तो क्या भैया ये नहीं चलेगा? तो क्या ये
- 3:40:28नहीं चलेगा? तो यह एरर देगा। तो यह एरर
- 3:40:31देगा। ठीक है? अभी आपको दिखा देता हूं।
- 3:40:33देखो दो सम हैं। ठीक है? ओके। दोनों के
- 3:40:36आर्गुमेंट काउंट भी सेम है। अब इसको रन
- 3:40:38करके देखें। ओके। यह एरर दे रहा है। कैन
- 3:40:40नॉट बी रीडिक्लेयर्ड। यह कह रहा है अरे ये
- 3:40:42पहले पहले से डिक्लेअर कर रखा है। आप
- 3:40:43दोबारा से डिक्लेअर क्यों कर रहे हो? इसका
- 3:40:45मतलब अगर आप सम नाम का फंक्शन यूज करना
- 3:40:48चाहते हो फिर से पॉलीमॉर्फिज्म चाहते हो
- 3:40:50तो आपको आर्गुमेंट काउंट डिफर करना पड़ेगा
- 3:40:51या आर्गुमेंट का टाइप डिफर करना पड़ेगा।
- 3:40:53तो यहां पर एक काउंट डिफर कर देते हैं
- 3:40:55फटाफट से। यहां पर मैं इसको डाल देता हूं।
- 3:40:58मैंने बोला x + y + z ले लेते हैं।
- 3:41:03ठीक है? तो मैंने x + y + z ले लिया। डन।
- 3:41:05ये थ्री इंटीजर्स का एडिशन कर रहा है। अब
- 3:41:07एक और काम कर सकता हूं कि इसको हटा देता
- 3:41:10हूं या फिर एक डबल। डबल के एडिशन ले लेते
- 3:41:13हैं कि डबल
- 3:41:15एडिशन ठीक है तो मुझे x और y डबल लेने
- 3:41:19पड़ेंगे।
- 3:41:22मैंने बोला डबल x डबल y ठीक है? अब डबल को
- 3:41:28एडिशन कर रहे हैं हम तो डबल ही रिटर्न
- 3:41:31करना पड़ेगा और x और y को प्लस कर देते
- 3:41:33हैं। सिमिलरली आप तीन वाला भी कर सकते हो।
- 3:41:35एरे भी डाल सकते हो। तो ध्यान से देखो
- 3:41:37फंक्शन का नाम सेम है। आर्गुमेंट काउंट और
- 3:41:40आर्गुमेंट टाइप के डिफरेंस इंट्रोड्यूस
- 3:41:42करने से कंपाइलर एक ही फंक्शन का नाम देने
- 3:41:45दे दे रहा है। यानी कि कंपाइलर बोल रहा है
- 3:41:48ठीक है? ऐसी पॉलीमॉर्फिज्म मैं अलाउ
- 3:41:49करूंगा। ठीक है? और ध्यान से देखो कंपाइलर
- 3:41:51मैं बार-बार बोल रहा हूं कंपाइलर अलाउ कर
- 3:41:53रहा है। इसका मतलब ये पक्का से स्टैटिक
- 3:41:56पॉलीमॉर्फिज्म होगा या फिर ये कंपाइल टाइम
- 3:41:59पॉलीमॉर्फिज्म होगा। क्योंकि ये सब डिसीजन
- 3:42:01कि कौन सा फंक्शन सही लिखा है, कौन सा
- 3:42:02फंक्शन गलत लिखा है? सिंटेक्स किसका सही
- 3:42:04है, किसका गलत है, कब होता है? ये सब होता
- 3:42:06है कंपाइल टाइम पे। अब फटाफट से भैया इसको
- 3:42:09रन करके दिखा दो। एक बार यहां एरर एरर सा
- 3:42:10आ रहा है। थोड़ा सा देखते हैं क्या होता
- 3:42:12है। ओके
- 3:42:15मैंने कहा कि मुझे दो इंटीजर ऐड करने हैं।
- 3:42:17मैंने x ले लिया एक फाइव। मैंने y ले लिया
- 3:42:20एक फाइव। ठीक है? और एक ले लेते हैं z। z
- 3:42:25ले लेते हैं
- 3:42:28टू। ठीक है? ऐसे ही डबल ले लेता हूं। ठीक
- 3:42:31है? डबल ले लेते हैं। डबल बाद में लेते
- 3:42:33हैं। चलो। तो मुझे सबसे पहले क्या चाहिए?
- 3:42:35मुझे पहले चाहिए सम। अब देखो ओके अगर मुझे
- 3:42:39सम को एक्सेस करना है पहले तो मुझे एक एक
- 3:42:41ऑब्जेक्ट बनाना पड़ेगा। तो मैंने बोला ऐड
- 3:42:44क्लास का एक ऑब्जेक्ट बना देते हैं ऐड।
- 3:42:46ठीक है? बना दिया मैंने। मैंने बोला ऐड
- 3:42:49डॉट क्या करना है? सम। अब ध्यान से देखो।
- 3:42:52इसको मैं सी आउट कर देता हूं सीधा।
- 3:42:58अब ध्यान से देखेंगे। अ जब भी मैं इस सम
- 3:43:01को लिखूंगा डॉट सम
- 3:43:05तो ये तीन टाइप के सम बता रहा है। यानी कि
- 3:43:07सम पॉलीमॉर्फिक है यहां पर। ठीक है? तो आप
- 3:43:09कौन सा चाहते हो? अब यहां पे बहुत
- 3:43:11ब्यूटीफुल ये चीज कैसे हैंडल हो गई? आप जो
- 3:43:13आर्गुमेंट दे दोगे उस हिसाब से डिसाइड हो
- 3:43:15जाएगा। आपने 5 दिया उसने देखा 5 इंटीजर
- 3:43:17है। डिसाइड हो गया। ठीक है? डिसाइड हो
- 3:43:19गया।
- 3:43:21यहां पे x5 दे देते हैं। 5 की जगह x एंड y
- 3:43:24अगेन नेक्स्ट। नेक्स्ट मैं क्या कर सकता
- 3:43:26हूं?
- 3:43:27एक काम करते हैं। यहां पर मैं इसको सी आउट
- 3:43:31कर देता हूं।
- 3:43:33सम ऑफ टू इंट
- 3:43:38ताकि आपको पता लग जाए कि एक्चुअली कौन सा
- 3:43:41फंक्शन कॉल हो रहा है। यहां पे क्या
- 3:43:42करेंगे? सम ऑफ थ्री इंट। ठीक है? यहां पे
- 3:43:45क्या करेंगे? सम ऑफ़
- 3:43:48टू डबल्स।
- 3:43:56ठीक है? डन है। अब एक काम करते हैं। मैं
- 3:43:59अभी थ्री इंट्स भी देखते हैं। तो देखो
- 3:44:03यहां पर अब इसने कौन सा चूज़ किया होगा? टू
- 3:44:05वाला। दो आर्गुमेंट है। दो इंटीजर वाला सम
- 3:44:07चूज़ किया होगा। जैसे ही मैं Z ऐड करूंगा
- 3:44:09थर्ड आर्गुमेंट। ये थर्ड वाला चूज़ कर
- 3:44:10लेगा। ठीक है? नेक्स्ट मुझे क्या करना है?
- 3:44:12नेक्स्ट मुझे डबल चाहिए। तो डबल के लिए
- 3:44:14मुझे क्या करना पड़ेगा? डबल देने पड़ेंगे
- 3:44:16यहां पे। तो मैंने बोला 5.4 को ऐड कर दो
- 3:44:18जी 2.3 से। ध्यान से देखो आपका इंटेलिजेंस
- 3:44:22जो है आपका वीएस कोड वो भी दिखा रहा है कि
- 3:44:24आप कौन से वाला पॉलीमॉर्फिक
- 3:44:26पॉलीमॉर्फिक नेम है समिक पॉलीमॉर्फिक नेम
- 3:44:28है। ठीक है? बहुत बहुत सारे फॉर्म्स हैं
- 3:44:30इसके। तो आप कौन सा चूज़ कर रहे हो वो
- 3:44:32डिपेंड कर रहा है किस पे कौन सा
- 3:44:33आर्गुमेंट्स दे रहे हो। और ये कब डिसाइड
- 3:44:34हो जाएगा? कंपाइल टाइम पे डिसाइड हो
- 3:44:36जाएगा। ओके? इसको एक बार रन करके देखें।
- 3:44:40एंड डन। सम ऑफ़ टू इंटीजर कॉल हुआ है। ठीक
- 3:44:42है जी। ओके। आउटपुट 10 आ गई है। ठीक है?
- 3:44:44ये सम ऑफ़ थ्री इंटीजर कॉल हुआ है। आउटपुट
- 3:44:4612 आ गई है। सम ऑफ़ टू डबल्स कॉल हुआ है।
- 3:44:48आउटपुट 7.7 आ गई। तो इसको कहते हैं हम
- 3:44:51फंक्शन ओवरलोडिंग। फंक्शन ओवरलोडिंग के
- 3:44:54थ्रू हमने पॉलीमॉर्फिज्म अचीव किया इन C++
- 3:44:57एंड स्पेसिफिक जाएं तो ये कंपाइल टाइम
- 3:44:59पॉलीमॉर्फिज्म है। ठीक है? नेक्स्ट
- 3:45:02नेक्स्ट आपका आता है ऑपरेटर ओवरलोडिंग।
- 3:45:04ठीक है? तो कंपाइल टाइम पॉलीमॉर्फिज्म
- 3:45:06अचीव करने का एक और तरीका होता है जिसको
- 3:45:08मैं कहता हूं ऑपरेटर ओवरलोडिंग। अब भाई ऑप
- 3:45:11ऑपरेटर ओवरलोडिंग क्या होता इसको समझते
- 3:45:12हैं। उससे पहले एक बढ़िया सा यूज़ केस समझते
- 3:45:15हैं। बढ़िया सा एग्जांपल कि किसके थ्रू मैं
- 3:45:16करने वाला हूं। सपोज़ करते हैं आपके पास अ
- 3:45:21आपने बचपन में पढ़ा होगा मैथ्स में एक
- 3:45:23इमिनरी नंबर्स होते हैं। जिनको मैं
- 3:45:25कॉम्प्लेक्स नंबर कहता हूं। तो
- 3:45:26कॉम्प्लेक्स नंबर कैसे होते हैं?
- 3:45:27कॉम्प्लेक्स नंबर। कॉम्प्लेक्स नंबर ना
- 3:45:30ऐसे नहीं होते। 1 2 3 ऐसे नहीं होते। ऐसे
- 3:45:32नहीं होते। ठीक है? ये इंटीजर पार्ट नहीं
- 3:45:34होता उनमें। उनमें दो पार्ट होते हैं।
- 3:45:36कॉम्प्लेक्स नंबर कंसिस्ट ऑफ टू थिंग्स।
- 3:45:38वन वन होता है आपका रियल पार्ट। रियल रियल
- 3:45:42यह होता है एक इंटीजर प्लस आयot नाम की एक
- 3:45:45चीज़ होती है। ठीक है? उसको मैं बोलता हूं
- 3:45:47आयot एंड
- 3:45:50इमिनरी पार्ट। तो रियल पार्ट इमेजिनरी
- 3:45:53पार्ट। तो किसी भी कॉम्प्लेक्स नंबर को
- 3:45:54दर्शाने का दिखाने का ये तरीका होता है कि
- 3:45:57आप रियल पार्ट दिखाते हो और इमिनरी पार्ट
- 3:45:59दिखाते हो और इमिनरी पार्ट ये भी इंट होता
- 3:46:01है। ये दोनों ही इंट होते हैं। एक्चुअली
- 3:46:03ये दोनों इंट होते हैं। ये i जो है आयotा
- 3:46:05कहते हैं इसको। ठीक है? ये इमेजिनरी पार्ट
- 3:46:07को दिखाने का होता है। ये प्लस जो है
- 3:46:08एक्चुअली प्लस नहीं कर पाता कुछ क्योंकि
- 3:46:11रियल पार्ट को मैं इमेजिनरी पार्ट में
- 3:46:12प्लस नहीं कर सकता। तो कॉम्प्लेक्स नंबर
- 3:46:14को इसी तरीके से दर्शाया जाता है। इस
- 3:46:16तरीके से दिखाते हैं। ठीक है? जिसको थोड़ा
- 3:46:17सा आईडिया ना हो एक बार गोल करके पता कर
- 3:46:19लो। यही होता है कॉम्प्लेक्स नंबर कहते
- 3:46:21हैं इसको। तो कॉम्प्लेक्स नंबर का दिखाने
- 3:46:23का तरीका ये होता है। ठीक है? डन।
- 3:46:26नेक्स्ट। अब कॉम्प्लेक्स नंबर में एक बहुत
- 3:46:28बड़ी चीज होती है जिसको मैं कहता हूं
- 3:46:30एडिशन, सब्ट्रैक्शन कर सकते हैं हम इसके
- 3:46:32अंदर। ठीक है? और मल्टीप्लिकेशन भी कर
- 3:46:34सकते हैं। तो अगर मैं कॉम्प्लेक्स नंबर की
- 3:46:36एडिशन करना चाहता हूं। एडिशन ऐड तो ऐड
- 3:46:40करने का एक रूल होता है। एक रूल होता है।
- 3:46:41वो रूल क्या कहता है कि आप पहला रूल है कि
- 3:46:45आप रियल को रियल से प्लस करोगे। ठीक है?
- 3:46:48ओनली रियल पार्ट्स
- 3:46:53एडिशन
- 3:46:55अलग से होगा। ठीक है? सेकंड इमेजिनरी
- 3:46:58पार्ट एडिशन अलग से होगा। तो ये दोनों
- 3:47:00डिफरेंट तरीके से होंगे। डिफरेंट तरीके
- 3:47:02ऐसे हैं कि अब साथ-साथ होंगे। रियल पार्ट
- 3:47:04रियल से ऐड होगा। इमेजिनरी पार्ट इमेजिनरी
- 3:47:06से ऐड होगा। फॉर एग्जांपल एग्जांपल देखते
- 3:47:08हैं। सपोज a एक कॉम्प्लेक्स नंबर दिया हुआ
- 3:47:10है मुझे 2 + आयot 5 ठीक है? अब अगेन भैया
- 3:47:16इसको प्लस क्यों नहीं कर दे रहे हो? देखो
- 3:47:18रियल पार्ट इमेजिनरी पार्ट से कभी प्लस
- 3:47:19नहीं होता। ठीक है? मैथ्स की चीज़ है।
- 3:47:21बेसिक है। B पे जाते हैं। मैंने बोला B एक
- 3:47:23कॉम्प्लेक्स नंबर ले लो आप 2 + आयot 3
- 3:47:28ठीक है? अब मुझे कहा है इसको ना प्लस कर
- 3:47:30दूं। तो जब मैं A + B करके एक C
- 3:47:34कॉम्प्लेक्स नंबर निकालूंगा। ठीक है? तो
- 3:47:36क्या बनेगा? वो बनता है ऐसे कि मुझे टू को
- 3:47:39तो टू से प्लस करना पड़ेगा। ठीक है? प्लस
- 3:47:42आयot ऐसे ही रहेगा और फाइव को थ्री के साथ
- 3:47:45प्लस करना पड़ेगा। तो आंसर इसका आएगा 4
- 3:47:47+iot 8।
- 3:47:50ठीक है? तो इसका मतलब कॉम्प्लेक्स नंबर की
- 3:47:52एडिशन एक डिफरेंट तरीके से होती है। रियल
- 3:47:55पार्ट रियल से ऐड होता है। इमिनरी पार्ट
- 3:47:56इमेजिनरी से ऐड होता है। ओके? पर भैया इस
- 3:47:58कहानी आप बता क्यों रहे हो? अगर मुझे सेम
- 3:48:01काम मुझे सेम काम अपने C++ से कराना हो तो
- 3:48:06मैं कैसे करूंगा? तो मैं कैसे करूंगा?
- 3:48:08सबसे पहले आपके दिमाग में आता होगा भैया
- 3:48:09एक काम करते हैं। एक कॉम्प्लेक्स नाम की
- 3:48:11एक क्लास बना देते हैं। उसके अंदर दो
- 3:48:13इंटीजर रख लेंगे। एक रियल इंटीजर जो कि
- 3:48:15रियल पार्ट को दर्शाएगा। एक इमिनरी इंटीजर
- 3:48:17जिसको मैं इमेजिनरी पार्ट को दर्शाने के
- 3:48:19काम आ सकता है। ठीक है?
- 3:48:21ओके। इतना कर लेते हैं। आप कह रहे हो तो
- 3:48:23तो इसको हम फटाफट से जाके हम कमेंट कर
- 3:48:26लेते हैं। इसको कमेंट कर देते हैं। और
- 3:48:28इसको भी कमेंट कर देते हैं। है ना? क्यों
- 3:48:31रखना है इसको? अब देखते हैं यहां पे।
- 3:48:33मैंने बोला एक क्लास बनाओ। आप ही ने बोला
- 3:48:35कि भैया एक क्लास बना सकते हैं। मैंने
- 3:48:36बोला क्लास बनाते हैं कॉम्प्लेक्स नाम की
- 3:48:38जो कि कॉम्प्लेक्स नंबर को दर्शाती है। हम
- 3:48:40फंक्शन क्यों डाल रहे हैं यहां पे? ठीक
- 3:48:42है? तो मैं बोल देता हूं पब्लिक। ठीक है?
- 3:48:45इसमें दो चीज़ ले लेते हैं। इंट रियल पार्ट
- 3:48:48को R बोल देता हूं। ठीक है? इंट इमेजिनरी
- 3:48:51पार्ट को i बोल देता हूं। नहीं नहीं अच्छे
- 3:48:53से लेते हैं। अच्छे नंबर लिखते हैं। रियल
- 3:48:54पार्ट को रियल ही बोलते हैं और इमेजिनरी
- 3:48:57पार्ट को इमेजिनरी बोलते हैं। डन। मैंने
- 3:48:59दो इंटीजर ले लिए। अब इसका कंस्ट्रक्टर
- 3:49:03लिखते हैं। सबसे पहले कंस्ट्रक्टर
- 3:49:04लिखेंगे। तो अगर किसी ने डिफ़ॉल्ट
- 3:49:06कंस्ट्रक्टर की बात की है तो रियल =
- 3:49:09इमिनरी = -1 से इनिशलाइज कर देंगे। ठीक
- 3:49:13है? यानी कि वैलिड नहीं है। नेक्स्ट
- 3:49:15कॉम्प्लेक्स नंबर ले लेते हैं। और अब
- 3:49:18इसमें आर्गुमेंट लेते हैं। मैंने बोला
- 3:49:20मैंने मेन से भेजा इंट आर। मैंने मेन से
- 3:49:23भेजा इंट इमेजिनरी। डन। नेक्स्ट
- 3:49:27इनिशियलाइजेशन लिस्ट का यूज़ करेंगे। ठीक
- 3:49:29है? तो रियल मैंने बोला आई के साथ
- 3:49:31इनिशलाइज़ करो। R के साथ रियल पार्ट R के
- 3:49:34साथ इनिशलाइज़ करो। और इमिनरी पार्ट i के
- 3:49:38साथ इनिशियलाइज़ करो। एंड डन। इतना काम हो
- 3:49:42गया। एक एक फंक्शन बना लेते हैं प्रिंट।
- 3:49:44ठीक है? जो कि दर्शाएगा कि क्या
- 3:49:46कॉम्प्लेक्स नंबर नजर आ रहा है मुझे। अह
- 3:49:49ओके। इसको हम कैसे दर्शाएंगे?
- 3:49:52प्रिंट एफ यूज़ कर लेते हैं। प्रिंट एफ। तो
- 3:49:55प्रिंट एफ में मैं क्या बोलता हूं? मुझे
- 3:49:57चाहिए सबसे पहले रियल पार्ट। ठीक है? प्लस
- 3:50:02इमिनरी पार्ट स्पेस डाल देते हैं थोड़ा।
- 3:50:06इमेजिनरी पार्ट आयot और आयot चाहिए होता
- 3:50:10है i तो i लिख देता हूं यहां पे इसको
- 3:50:13ब्रैकेट में डाल देते हैं ऐसे दिखाते हैं
- 3:50:15अच्छा लगेगा
- 3:50:17ठीक है मैंने बोला रियल पार्ट दिखा दो दिस
- 3:50:21का रियल दिखा दो
- 3:50:23ठीक है दिस का
- 3:50:25इमेजिनरी दिखा दो डन है तो हमने अभी तक
- 3:50:29क्या किया है हमने कॉम्प्लेक्स क्लास लिखी
- 3:50:30उसमें रियल और इमेजिनरी दो इसके मेंबर्स
- 3:50:33हैं और कंस्ट्रक्टर्स बना दिए हमने और एक
- 3:50:35प्रिंट स्टेटमेंट बनाई है ताकि मैं देख
- 3:50:37पाऊं कि मैंने सही से अपना कॉम्प्लेक्स
- 3:50:39नंबर बनाया है कि नहीं। तो सबसे पहले हमने
- 3:50:40कॉम्प्लेक्स नंबर कौन सा बनाया था? a तो
- 3:50:42मैं कॉम्प्लेक्स नंबर बनाता हूं।
- 3:50:43कॉम्प्लेक्स a ठीक है? क्या-क्या था वो?
- 3:50:46एक बार आईपैड पे आते हैं। मैंने बोला
- 3:50:482ioti तो इसका रियल पार्ट क्या होगा? टू
- 3:50:51और इमेजिनरी पार्ट क्या होगा आपका? फाइव।
- 3:50:56डन। तो एक a कॉम्प्लेक्स नंबर बन गया। एक
- 3:50:58और कॉम्प्लेक्स नंबर बनाता हूं।
- 3:50:59कॉम्प्लेक्स b ठीक है? ये क्या था आपका? 2
- 3:51:02+iot 3 तो 2 3
- 3:51:06और एक काम और कर सकते हैं हम
- 3:51:14A को बना के A को वेरीफाई करते हैं ठीक से
- 3:51:16बना है कि नहीं प्रिंट करके देख लेते हैं
- 3:51:19B को ही बना के प्रिंट कर लेते हैं ओके अब
- 3:51:22बताओ प्रिंट होगा कि नहीं सही बना है कि
- 3:51:25नहीं रन करके देखते हैं अगर हम तो मुझे
- 3:51:28क्या नजर आता है थोड़ा सा इसको और
- 3:51:31ब्यूटीफाई कर लेते हैं। यहां पर हैंडल डाल
- 3:51:34देते हैं। न्यू लाइन पर चला जाए ताकि
- 3:51:38ओके। अब ध्यान से देखो। यहां पे क्या आया?
- 3:51:39मेरे पास दो आपके इमिनरी नंबर कॉम्प्लेक्स
- 3:51:43नंबर कहेंगे। दो कॉम्प्लेक्स नंबर बन गए
- 3:51:45हैं। 2 +iot 5 और 2 +iot3। ठीक है? या फिर
- 3:51:49इसको दूसरा बना देते हैं। या इसको 3 +iot3
- 3:51:51बना देते हैं। चलो
- 3:51:54इसको बना देते हैं 3 +iot3। 3 +iot3 तो दो
- 3:51:57नंबर बन गए। बढ़िया है। अब यहां पर भैया
- 3:52:01यह सब किया क्यों हमने? अगर मैं आपको
- 3:52:03बोलूं कि मुझे ना एडिशन करना है। देखो a
- 3:52:06क्या दर्शाता है? a एक कॉम्प्लेक्स नंबर
- 3:52:07है। कैपिटल a कैपिटल B क्या दर्शाता है?
- 3:52:10वो भी एक कॉम्प्लेक्स नंबर है। अब मुझे एक
- 3:52:12कैपिटल C चाहिए जो इन दोनों का एडिशन हो।
- 3:52:16ठीक है? तो अब मैं अगर जाऊं यहां पर आप
- 3:52:18बोलोगे भैया कोई दिक्कत नहीं है। हो
- 3:52:19जाएगा। मैं बोलता हूं कॉम्प्लेक्स नंबर C
- 3:52:21बना दो। ठीक है? और कैसे बनाऊं? A + B कर
- 3:52:26दो। बस बढ़िया चला दो फिर।
- 3:52:30ओके
- 3:52:32पर यह नहीं चला। एरर देखें। एरर देखें तो
- 3:52:35एरर कुछ आ रहा है कि कैंडिडेट टेंपलेट
- 3:52:38इग्नर्ड नॉट मैचिंग दिस। सो एंड सो कुछ
- 3:52:42कुछ कुछ गंदा सा एरर दिख रहा है। अगर मैं
- 3:52:43यहां पर आके देखूं तो मुझे क्या एरर नजर
- 3:52:45आता है। ओके? नो ऑपरेटर प्लस मैचेस दीज़
- 3:52:47ऑपरेंट्स।
- 3:52:49चलिए
- 3:52:51अब देखो जब आप C =
- 3:52:54ठीक है? C = 5 4 + 5 करो। ठीक है? दो
- 3:52:57इंटीजर प्लस करो। तो क्या प्लस के
- 3:53:00रिगार्डिंग कोई एरर आया? नहीं आया। इसका
- 3:53:02मतलब प्लस ऑपरेटर को पता है कि दो इंटीजर
- 3:53:06को प्लस कैसे करते हैं। प्लस ऑपरेटर को
- 3:53:08पता है कि दो डबल्स को प्लस कैसे करते
- 3:53:10हैं। ठीक है? पता है सब पता है। पर प्लस
- 3:53:13ऑपरेटर को ये नहीं पता कि दो कॉम्प्लेक्स
- 3:53:15नंबर को प्लस कैसे करते हैं। ठीक है? यहां
- 3:53:18पे प्रॉब्लम है। देखो, ध्यान से देखो। यही
- 3:53:20एरर है। इनवैलिड ऑपरेंट्स टू बाइनरी
- 3:53:23एक्सप्रेशन। ठीक है?
- 3:53:26नो ऑपरेंट प्लस मैचेस दी ऑपरेंट्स। ठीक
- 3:53:29है? कोई ऑपरेटर है ही नहीं जो जानता हो कि
- 3:53:31इनको प्लस कैसे करते हैं? कैसे? यह प्लस
- 3:53:33का क्या करूं मैं? पता नहीं इसको। इसी चीज
- 3:53:36के लिए काम आता है आपका ऑपरेटर ओवरलोडिंग।
- 3:53:39ठीक है? समझते हैं। इन C++ व्हेन ऑपरेटर
- 3:53:42आर ओवरलोडिंग। जब ऑपरेटर को ओवरलोड करते
- 3:53:44हैं। फंक्शन को ओवरलोड किया था हमने। ठीक
- 3:53:46है? एक फंक्शन से मल्टीपल काम कराए थे। अब
- 3:53:49हम क्या करेंगे? एक प्लस से मल्टीपल काम
- 3:53:51कराएंगे। ऑलरेडी प्लस कुछ काम तो जानता ही
- 3:53:54है। पहला इंटीजर को ऐड कर देता है।
- 3:53:56फ्लोट्स को ऐड कर देता है। डबल को ऐड कर
- 3:53:58देता है। इंटीजर डबल को ऐड कर देता है।
- 3:53:59इंटीजर फ्लोट को ऐड कर देता है। डबल फ्लोट
- 3:54:01को ऐड कर देता है। डबल डबल को ऐड कर देता
- 3:54:04है। ये सारी चीज तो आती हैं। आप कह सकते
- 3:54:06हो कि इन जनरल जो आपका प्लस ऑपरेटर है जो
- 3:54:09प्लस ऑपरेटर है वो पहले से ही पॉलीमॉर्फिक
- 3:54:11है। उसके पहले से ही मेनी फॉर्म्स हैं। अब
- 3:54:13आप बोल रहे हो कि आपके पहले से मेनी
- 3:54:15फॉर्म्स हैं। ओके? एक और फॉर्म मेरे लिए
- 3:54:17बनाओ। एक और फॉर्म जो कि मुझे कॉम्प्लेक्स
- 3:54:20नंबर के एडिशन में काम आए। ठीक है? इसलिए
- 3:54:23हम कह रहे हैं व्हेन ऑपरेटर ओवरलोडिंग
- 3:54:25ऑपरेटर को ओवरलोड कर देते हो। उसे मल्टीपल
- 3:54:27काम कराना चाहते हो दे एग्जीक्यूट यूजर
- 3:54:30डिफाइंड फंक्शनंस। जब ऑपरेटर को ओवरलोड
- 3:54:32कराते हो तो यूजर डिफाइंड आप जैसा चाहते
- 3:54:34हो वैसा वो करेगा। के करा सकते हो।
- 3:54:37व्हनेवर यूज़्ड अलाउंग द कस्टमाइज़
- 3:54:38बिहेवियर। तो मैं कस्टमाइज़ बिहेवियर चाहता
- 3:54:40हूं। ठीक है? मैंने पहले आपको बोला कि
- 3:54:42प्लस पहले से ही पॉलीमॉर्फिक है। मेनीफ्स
- 3:54:44पहले से ही हैं। मैंने डिफरेंट-डिफरेंट
- 3:54:46काम वो ऑलरेडी कर पाता है। एक और काम मेरा
- 3:54:48कराना चाहता हूं मैं। ठीक है? तो इसको
- 3:54:50कैसे कराएंगे समझते हैं। मुझे चाहिए
- 3:54:53ओवरलोडिंग ऑपरेटर ओवरलोडिंग। अब देखो इसको
- 3:54:56कैसे कर सकते हैं। अगर इस कहानी को हम हटा
- 3:54:58दें यहां पे थोड़ी देर के लिए तो मैं ये
- 3:55:01कह सकता हूं कि मैंने बोला कि मुझे चाहिए
- 3:55:03cक्स नंबर जिसको मैंने बोला a + b डन है।
- 3:55:08डन है। और a मैंने क्या बनाया था गाइस? A
- 3:55:10मैंने बोला था 2 +iot 5 था और B मैंने
- 3:55:13क्या बनाया था गाइज़? 3 +3 अब मैं इनको
- 3:55:16प्लस करना चाहता हूं। ठीक है? ये मेरी
- 3:55:18प्रॉब्लम स्टेटमेंट है।
- 3:55:20अभी हमने पढ़ा कि वो यूजर डिफाइंड बिहेवियर
- 3:55:22कर सकते हैं। हम कस्टमाइज बिहेवियर कर
- 3:55:24सकते हैं। तो मैं कस्टमाइज बिहेवियर चाह
- 3:55:25रहा हूं। कस्टमाइज बिहेवियर बनाना चाहता
- 3:55:27हूं। कस्टमाइज बिहेवियर क्या होगा? मैंने
- 3:55:29बोला a + b बोल रहे हो ना आप? ओके? तो इस
- 3:55:32प्लस को मैं बोल सकता हूं कि तू प्लस जब
- 3:55:35भी लिखूं मैं दो कॉम्प्लेक्स नंबर्स के
- 3:55:37बीच में आप एक फंक्शन कॉल कर दो। आप एक
- 3:55:39फंक्शन कॉल कर दो और वह फंक्शन अपने आप
- 3:55:42हैंडल कर लेगा। करना क्या है जीवन में?
- 3:55:44ठीक है? तो मैंने कहा यह प्लस जो यह प्लस
- 3:55:47है यह जो कॉम्प्लेक्स नंबर के बीच में लगा
- 3:55:48हुआ प्लस है अपने आप किसी फंक्शन को कॉल
- 3:55:50करेगा। वो फंक्शन हैंडल कर लेगा। और वो
- 3:55:53फंक्शन कहां लिखा होगा? आपके कॉम्प्लेक्स
- 3:55:55क्लास के अंदर। ठीक है? समझते हैं। ऐसा
- 3:55:57मान के चल सकते हैं कि आपने एक फंक्शन लिख
- 3:56:00दिया। एक फंक्शन लिख दिया फंक्शन। ठीक है?
- 3:56:02फन नाम है उसका। और इस फन फंक्शन को किसने
- 3:56:05कॉल किया? a ने। a ने। क्योंकि यह
- 3:56:08सिंटेक्स क्या कहता है? यह सिंटेक्स कह
- 3:56:10रहा है। A कह रहा है कि ना मुझ में B प्लस
- 3:56:12कर दो। मुझ में B प्लस करो और मैं C को
- 3:56:16रिटर्न कर दूंगा। दोबारा से सुनना बहुत ही
- 3:56:18इंपॉर्टेंट लाइन है। A कह रहा है मुझ में
- 3:56:20B प्लस कर दो और C को रिटर्न कर दो। ठीक
- 3:56:23है? तो मैं ऐसा बोल सकता हूं कि यहां पर
- 3:56:25ना A कुछ ऐसा कहना चाह रहा है। A ने कहा
- 3:56:28कि ना मेरे अंदर एक फंक्शन लिखा हुआ है
- 3:56:31फन। उसके आर्गुमेंट में B भेज दो। और जब
- 3:56:35फन फंक्शन के आर्गुमेंट में B आ जाएगा तो
- 3:56:37यहां बोल सकता हूं कि कॉम्प्लेक्स
- 3:56:40B ठीक है? तो A डॉट फन B कॉल हो रहा है।
- 3:56:45ठीक है? क्लास की बात कर रहा हूं मैं।
- 3:56:46क्लास के अंदर A डॉट फन क्लास के अंदर कोई
- 3:56:49फन नाम का फंक्शन है। A डॉट फन B करा है
- 3:56:51आपने तो यहां तो B आ जाएगा। यहां B आ
- 3:56:54जाएगा। तो यहां आप कर सकते हो कि भाई दिस
- 3:56:56दिस का A दिस का रियल पार्ट
- 3:57:00प्लस B का रियल पार्ट। ठीक है? और यहां
- 3:57:04दिस दिस किसको दर्शा रहा है? A को। A को
- 3:57:06क्यों दर्शा रहा है? क्योंकि A ने कॉल
- 3:57:07किया है ना गाइज़? A ने कॉल किया है। तो
- 3:57:09दिस पॉइंटर जो होगा वो A के इंस्टेंस को
- 3:57:12पॉइंट कर रहा होगा। ओके? तो इसका मतलब
- 3:57:15भैया A + B का मतलब A कह रहा है कि मुझ
- 3:57:18में B प्लस कर दो। ठीक है? या फिर मैं
- 3:57:20इसको कुछ ऐसे ऐसे बोल सकता हूं कि A के
- 3:57:23अंदर कोई फन फंक्शन लिख दिया है और मैंने
- 3:57:25B उसके आर्गुमेंट में भेज दिया है। ठीक
- 3:57:27है? अभी तक इतना सोचेंगे बस। ठीक है? और
- 3:57:30यहीं पर रुकेंगे। अब देखते हैं कि ऑपरेटर
- 3:57:32ऑलरेडिंग एक्चुअली ये काम कैसे करता है।
- 3:57:34तो एक बार फटाफट से इसको एक बार
- 3:57:36इंप्लीमेंट करके देखते हैं कि इस चीज को
- 3:57:37मैं कैसे कर सकता हूं। उससे पहले मैं
- 3:57:39जानना चाहूंगा कि सिंटेक्स क्या है? है ना
- 3:57:41भैया? सिंटेक्स पता होना चाहिए ना कैसे
- 3:57:42करूंगा। आपने बोला भैया कि a में b प्लस
- 3:57:44होने जा रहा है। है ना? तो मुझे ऐसे
- 3:57:46सिंटेक्स चाहिए। सबसे पहले मुझे एक रिटर्न
- 3:57:48टाइप चाहिए होता है। रिटर्न टाइप।
- 3:57:51ठीक है? रिटर्न टाइप हो गया। फिर आप लिखते
- 3:57:53हो ऑपरेटर।
- 3:57:56ठीक है? कि किसको ओवरलोड करना है। अब देखो
- 3:57:58सजेशन भी आ रहे हैं। ऑपरेटर लिखा आपने।
- 3:58:01फिर आपने बोला प्लस को ओवरलोड कर दो। प्लस
- 3:58:04को ओवरलोड कर दो या फिर ऑपरेटर का नाम।
- 3:58:07ऑपरेटर जो भी जिसको ओवरलोड करना चाहते हो।
- 3:58:10उसके बाद यहां पे आएंगे आर्गुमेंट्स।
- 3:58:14ठीक है? अगेन फंक्शन में कुछ-कुछ काम
- 3:58:16होगा। जो भी फंक्शन के कॉस्पोंडिंग काम
- 3:58:18होता है और आप कुछ यहां रिटर्न कर सकते
- 3:58:20हो।
- 3:58:22ये आपका सिंटेक्स होता है। ठीक है? अब
- 3:58:24सिंक्स का एकदम लाइव डेमो दिखाता हूं।
- 3:58:26प्लस को कैसे करेंगे हम? अब ध्यान से
- 3:58:27देखो। हम क्या चाहते हैं? A के अंदर B को
- 3:58:30प्लस करेंगे। ठीक है? यानी कि A के अंदर
- 3:58:33एज B एज ए आर्गुमेंट जाएगा और इन दोनों को
- 3:58:35हम प्लस करके एक नया कॉम्प्लेक्स नंबर C
- 3:58:38रिटर्न करेंगे। ठीक है? आ जाते हैं इधर।
- 3:58:40तो इस तरीके से बोल सकता हूं मैं। मैंने
- 3:58:42कहा रिटर्न टाइप चाहिए। रिटर्न टाइप क्या
- 3:58:44है? एक कॉम्प्लेक्स नंबर रिटर्न करना है।
- 3:58:45जी। ठीक है जी। कॉम्प्लेक्स नंबर। अब मुझे
- 3:58:48चाहिए ऑपरेटर।
- 3:58:50ठीक है? किसको किसको ओवरलोड करना था? मुझे
- 3:58:52प्लस को ओवरलोड करना था। प्लस। ठीक है?
- 3:58:55नेक्स्ट।
- 3:58:57नेक्स्ट मैंने कहा मुझे क्या चाहिए अब
- 3:58:59आर्गुमेंट्स। अब ध्यान से देखो। मैंने
- 3:59:01क्या कहा था कि इमेजिन करो a डॉट फन टाइप
- 3:59:04का कुछ कॉल होगा। ठीक है? उसके अंदर b एज
- 3:59:06अ आर्गुमेंट जाएगा। अब यहां पर a डॉट फन
- 3:59:09तो नहीं होगा कुछ। ठीक है? ये तो मैंने
- 3:59:11आपके अंडरस्टैंडिंग के लिए बोला था। a जो
- 3:59:13है प्लस ऑपरेटर के थ्रू एक फंक्शन कॉल
- 3:59:15करेगा। जो अभी हम डिफाइन कर रहे हैं। उसके
- 3:59:17अंदर बी आर्गुमेंट जाएगा। अब यहां पे कौन
- 3:59:18सा आर्गुमेंट जाएगा? बी आर्गुमेंट जाएगा।
- 3:59:20बी ये ले लिया मैंने। अब देखो अच्छी चीज
- 3:59:23होती है कि आप इसको बाय रेफरेंस लो। बाय
- 3:59:25रेफरेंस लो और यहां पर कॉस्ट डाल दो। ठीक
- 3:59:29है? अब इससे भैया मुझे फायदा क्या होता
- 3:59:30है? ठीक है? एक इसी को मैं गुड डिजाइन
- 3:59:32कहता हूं। कॉस्ट का मतलब क्या है? कि जो
- 3:59:34भी प्लस ऑपरेटर आपने कॉल किया है और आपने
- 3:59:36बी लिखा है यहां पर। ठीक है? तो बी जब
- 3:59:38यहां पर आए तो बी को आप चेंज ना कर पाओ।
- 3:59:41ठीक है? बी चेंज ना कर पाओ। ठीक है? मैं
- 3:59:43चेंज क्यों करना चाहूंगा? ठीक है? बाय
- 3:59:44रेफरेंस ले लिया ताकि कॉपी ना बने। है ना?
- 3:59:47ऑब्वियसली।
- 3:59:48डन। अब मैं क्या करना चाहता हूं यहां पे?
- 3:59:50अब देखो मैं यहां पर क्या हूं? यहां पर
- 3:59:52दिस किसको पॉइंट कर रहा होगा? दिस किसको
- 3:59:54पॉइंट करेगा? a के इंस्टेंस को। a के
- 3:59:56इंस्टेंस को। दिस a को पॉइंट कर रहा होगा।
- 3:59:59क्योंकि मैंने क्या कहा था कि a + b करते
- 4:00:02हो तो a का कोई फंक्शन a प्लस ऑपरेटर की
- 4:00:05मदद से b एज ए आर्गुमेंट लेके जा रहा है
- 4:00:07टू डू समथिंग। ठीक है? अब मुझे क्या करना
- 4:00:10है? मुझे फाइनल एडिशन करनी है। तो एक
- 4:00:12कॉम्प्लेक्स नंबर बना देते हैं। टप टेंप
- 4:00:13नाम का कॉम्प्लेक्स नंबर बनाया मैंने। ठीक
- 4:00:15है? और मैं क्या बोलना चाह रहा हूं भाई?
- 4:00:17टेंप के रियल पार्ट की बात करते हैं। पहले
- 4:00:19रियल पार्ट की। तो रियल रियल से प्लस
- 4:00:21होगा। तो मैंने बोला दिस का रियल दिस का
- 4:00:24रियल पार्ट। ठीक है? दिस का रियल पार्ट
- 4:00:26क्या है? a का रियल पार्ट होगा। प्लस b जो
- 4:00:28कि एज ए आर्गुमेंट आया उसका रियल पार्ट।
- 4:00:31ठीक है? तो रियल पार्ट रियल से प्लस हो
- 4:00:32गया। अब मुझे इमेजिनरी पार्ट इम इमेजिनरी
- 4:00:35से प्लस करना है। तो इमिनरी पार्ट की बात
- 4:00:36करें तो इसको मैं लिखता हूं आई एम ए जे।
- 4:00:39तो इमिनरी पार्ट मुझे इमेजिनरी से प्लस कर
- 4:00:42देना है। यहां पे भी इमिनरी आ जाएगा। यहां
- 4:00:44पे भी इमिनरी आ जाएगा। डन। फाइनली मुझे
- 4:00:46रिटर्न कर देना है रिटर्न टाइप। क्योंकि
- 4:00:47यहां लिखा है कॉम्प्लेक्स नंबर। तो मैंने
- 4:00:48बोला टेंप को रिटर्न कर दो।
- 4:00:51डन डन है। इतना काम हो गया। ठीक है? तो अब
- 4:00:54आप नीचे आके देखोगे यहां पे प्लस पे अब
- 4:00:56कोई एरर नहीं आ रहा है। अब अब आप
- 4:00:59इंटेलिजेंस पे हो करोगे तो क्या कह रहा है
- 4:01:01कि ये प्लस ना कॉम्प्लेक्स वाली क्लास का
- 4:01:05ऑपरेटर प्लस को रेफर कर रहा है। ठीक है?
- 4:01:07वो वाला प्लस जो इंटीजर को प्लस किया करता
- 4:01:09था वो प्लस नहीं। ठीक है? अब आपने प्लस से
- 4:01:11अपना खुद का काम करा लिया। यानी प्लस जो
- 4:01:13कि ऑलरेडी पॉलीमॉर्फिक था। अब आपने उसकी
- 4:01:16एक और फॉर्म दे दी। ठीक है? इस प्लस को
- 4:01:18ओवरलोड कर दिया। ऑपरेटर को ओवरलोड कर
- 4:01:21दिया। यू हैव अचीव्ड पॉलीमॉर्फिज्म। तो
- 4:01:24भैया बताओ तो सही हुआ भी है कि नहीं?
- 4:01:25प्रूव तो करो। ओके? तो मैं मान के चल रहा
- 4:01:28हूं a + b ठीक है? और जैसे रियल पार्ट
- 4:01:30रियल से प्लस हुआ होगा। इमेजिनरी पार्ट
- 4:01:31इमेजिनरी से प्लस हुआ होगा। इसको वेरीफाई
- 4:01:33करते हैं। c डॉट प्रिंट कर देते हैं। c
- 4:01:35डॉट प्रिंट से वेरीफाई हो जाएगा। चलो
- 4:01:39रन करते हैं फटाफट से। ओके? तो ध्यान से
- 4:01:42देखो। ये था आपका a ये था आपका b। इन
- 4:01:45दोनों को प्लस करके क्या आना था? 5 +iota
- 4:01:478 और वह आ गया। क्या भैया मैं माइनस को भी
- 4:01:50कर सकता हूं? ऐसे-ऐसे मैं माइनस भी कर
- 4:01:51सकता हूं। मैंने कहा बिलकुल कर सकते हो।
- 4:01:53ठीक है? इसको आप उठाओ। इसको आप उठाओ। कॉपी
- 4:01:56पेस्ट करो। यहां पर आप माइनस कर सकते हो।
- 4:01:58और अगर यहां पे दिस a में से b को माइनस
- 4:02:02किया। फिर a में से b का इमेजिनरी पार्ट
- 4:02:04माइनस किया और रिटर्न कर दिया। तो अगर मैं
- 4:02:07यहां पर एक और वेरिएबल बनाऊं कॉम्प्लेक्स
- 4:02:09d जिसको मैं बोलता हूं a - b तो यहां पे
- 4:02:12कोई एरर नहीं देगा यह। और d डॉट प्रिंट कर
- 4:02:15सकता हूं मैं। d डॉट प्रिंट वेरीफाई करें।
- 4:02:18चलो रन करके देखते हैं। ओके। ओके। 2 में
- 4:02:23से 3 माइनस करेंगे तो -1 आएगा। 5 में से 3
- 4:02:25माइनस करेंगे तो टू आएगा। आयot 2 डन। तो
- 4:02:28इसको कहते हैं ऑपरेटर ओवरलोडिंग। मैं
- 4:02:29दोबारा से कहानी रिपीट करता हूं। कहानी
- 4:02:31शुरू हुई थी पॉलीमॉर्फिज्म से। है ना?
- 4:02:32पॉलीमॉर्फिज्म का मतलब मेनी फॉर्म्स। ठीक
- 4:02:34है? एक ही नाम होगा। मल्टीपल काम करते
- 4:02:36होंगे। डिफरेंट वर्क करते होंगे।
- 4:02:37डिपेंडिंग अपॉन नीड्स। दो तरीके होते हैं।
- 4:02:39एक स्टैटिक पॉलीमोफिज्म होता है। एक आपका
- 4:02:42रन टाइम होता है जिसको मैं डायनेमिक
- 4:02:43पॉलीमोर्फिज्म कहता हूं। स्टैटिक में तो
- 4:02:45दो चीजें आती हैं। दो तरीके से अचीव कर
- 4:02:47सकते हैं। फंक्शन ओवरलोडिंग, ऑपरेटर
- 4:02:48ओवरलोडिंग। फंक्शन ओवरलोडिंग की बात करें
- 4:02:50तो फंक्शनल ओवरलोडिंग का मतलब एक ही
- 4:02:51फंक्शन का नाम होगा और उसके आर्गुमेंट
- 4:02:54टाइप और आर्गुमेंट काउंट चेंज होने की वजह
- 4:02:56से कंपाइलर आपको अलाउ करेगा सेम नेम के
- 4:02:58फंक्शन रखने के लिए। ठीक है? बट आपको
- 4:03:01आर्गुमेंट टाइप, आर्गुमेंट नेम, आर्गुमेंट
- 4:03:04काउंट अलग-अलग रखना पड़ेगा। जैसे कि हमने
- 4:03:06सम वाला एग्जांपल देखा था जो कि वेरी वेल
- 4:03:08रन हो गया था। सम बिकम पॉलीमॉर्फ ठीक है?
- 4:03:11सम पॉलीमॉर्फिक बन गया था इस इस चक्कर
- 4:03:14में। नेक्स्ट आता है आपका ऑपरेटर
- 4:03:16ओवरलोडिंग। ठीक है? ऑपरेटर ओवरलोडिंग का
- 4:03:17मतलब प्लस ऑपरेटर को या किसी भी ऑपरेटर को
- 4:03:19मैं पॉलीमॉर्फिक बना सकता हूं। ठीक है?
- 4:03:21वही ऑपरेटर आपके इंटीजर्स को ऐड करने के
- 4:03:23लिए भी काम आएगा। वही ऑपरेटर आपके
- 4:03:24कॉम्प्लेक्स नंबर को ऐड करने के लिए भी
- 4:03:26काम आएगा। और माइनस ऑपरेटर भी हमने ओवरलोड
- 4:03:28किया। माइनस भी आपका पॉलीमॉर्फिक बन गया।
- 4:03:31एंड सो ऑन। तो दिस इज़ कॉल्ड ऑपरेटर
- 4:03:33ओवरलोडिंग। पर भैया क्या सिर्फ प्लस और
- 4:03:35माइनस को ही ओवरलोड कर सकता हूं? मैंने
- 4:03:37कहा बिल्कुल नहीं। आप ये सारी लिस्ट है
- 4:03:40जिन-जिन को आप ओवरलोड कर सकते हो इन C++
- 4:03:43ठीक है एक और मेरे दिमाग में आ रहा है
- 4:03:44जिसको मैं ओवरलोड कर सकता हूं। एक काम
- 4:03:46करते हैं। एक फंक्शन लिखते हैं। एक फंक्शन
- 4:03:50लिखते हैं या फिर एक और ओवरलोडिंग करते
- 4:03:52हैं। मैं जानना चाहता हूं कि दो
- 4:03:54कॉम्प्लेक्स नंबर्स इक्वल हैं कि नहीं? दो
- 4:03:57कॉम्प्लेक्स नंबर इक्वल है कि नहीं? तो
- 4:03:58इसको करने के लिए क्या कर सकते हैं हम?
- 4:04:00अभी अभी मैं अगर देखूं देखो दो इंटीजर
- 4:04:05इक्वल है कि नहीं वो आप कैसे देखते हो?
- 4:04:07मैंने बोला इंट a या फिर बल बूल a इक्व 5
- 4:04:13= 5 तो ये आप देखते हो कि पांच पांच से
- 4:04:17इक्वल है कि नहीं तो यहां पर a पे क्या आ
- 4:04:19जाता है ट्रू वन आ जाता है राइट अगर सेम
- 4:04:22काम मैं यहां पे करना चाहूं तो सेम काम
- 4:04:24मैं यहां पे करना चाहूं तो ठीक है पहले
- 4:04:25मैं यहां पे सी आउट कर देता हूं
- 4:04:28a
- 4:04:30और इसको रन करके दिखाता हूं आपको
- 4:04:34तो यह वन आ जाता है राइट
- 4:04:37अब अगर सेम काम मैं करना चाहूं। मैं बोलूं
- 4:04:39कि यहां पर मैं करता हूं a और b दो
- 4:04:42कॉम्प्लेक्स नंबर इक्वल है कि नहीं? तो
- 4:04:43कॉम्प्लेक्स नंबर इक्वल है कि नहीं। यहां
- 4:04:45पे करके देखूं। तो यहां पे सीधा ही एरर आ
- 4:04:47गया कि इक्वल टू इक्वल टू मैच नहीं कर
- 4:04:49रहा। इक्वल टू इक्वल टू को पता नहीं है कि
- 4:04:50दो कॉम्प्लेक्स नंबर्स को कैसे करें? कैसे
- 4:04:52करें? मैं कैसे चेक करूं? दो कॉम्प्लेक्स
- 4:04:54नंबर इक्वल है कि नहीं। ठीक है? इंटीजर को
- 4:04:56तो मैं कर लेता हूं। डबल को भी मैं कर
- 4:04:57लेता हूं। तो मैं चाहता हूं कि ये इक्वल
- 4:04:59टू इक्वल टू को ओवरलोड कर दूं और इसको
- 4:05:01पॉलीमॉर्फिक बना दूं। ठीक है? इसके इसका
- 4:05:03नया फॉर्म ऐड कर दूं। कैसे करेंगे? मैंने
- 4:05:05कहा सेम सिंटेक्स गाइस सेम सिंटेक्स
- 4:05:08इसी को यूज़ करते हैं। कॉपी पेस्ट करते
- 4:05:11हैं। सबसे पहले देखते हैं किसको ओवरलोड
- 4:05:12करना है। मैंने बोला इक्वल टू इक्वल टू को
- 4:05:14लिख दिया। और रिटर्न क्या करोगे? जब आप
- 4:05:18इक्वल टू इक्वल टू चेक कर लोगे क्या
- 4:05:19रिटर्न करोगे? एक भूल रिटर्न करोगे।
- 4:05:21बुलियन नेक्स्ट अगर मैंने बोला a = b तो a
- 4:05:26a = फंक्शन को कॉल कर रहा होगा या a इक्वल
- 4:05:29टू इक्वल टू ऑपरेटर की ओवरलोडिंग कॉल कर
- 4:05:32रहा होगा विद आर्गुमेंट b ठीक है दैट इज़
- 4:05:35हैपनिंग हियर ठीक है अब मुझे पार्ट करना
- 4:05:37है रियल पार्ट रियल से इक्वल हो इमेजिनरी
- 4:05:39पार्ट इमेजिनरी से इक्वल हो तो इस सबको
- 4:05:41मैं हटा सकता हूं अभी के लिए मैं रिटर्न
- 4:05:42कर दूंगा सिंपल मुझे क्या चाहिए मुझे
- 4:05:44चाहिए कि भाई दिस यानी कि a दिस यहां पे a
- 4:05:47का इंस्टेंस है राइट a का पॉइंटर है मैंने
- 4:05:49बोला दिस इसका जो रियल पार्ट है गाइज़ वो
- 4:05:52इक्वल होना चाहिए B के रियल पार्ट से। ठीक
- 4:05:55है? एंड दिस का
- 4:05:58जो इमिनरी है वो इक्वल होना चाहिए B के
- 4:06:01इमेजिनरी से। तो अगर ऐसा होगा तो मैं बोल
- 4:06:04दूंगा कि मेरा मेरे जो दो कॉम्प्लेक्स
- 4:06:07नंबर जिनको मैं कंपेयर कर रहा हूं वो
- 4:06:09इक्वल है। ठीक है? वेरीफाई करें गाइस। चलो
- 4:06:11वेरीफाई करते हैं। तो यहां पे पहले आ गया
- 4:06:13ज़ीरो। ठीक है? तो अब इनको सेम बनाते हैं।
- 4:06:15मैं इसको भी थ्री कर देता हूं। इसको भी
- 4:06:17थ्री कर देता हूं। अब रन करके देखते हैं।
- 4:06:19वन आना चाहिए और आप ध्यान से देखो यहां पे
- 4:06:21वन आ गया है।
- 4:06:24ओके? तो दिस इज कॉल्ड ऑपरेटर ओवरलोडिंग।
- 4:06:26ठीक है? तो बहुत ही इंपॉर्टेंट है आपके
- 4:06:29स्टैटिक पॉलीमॉर्फिज्म को डिफाइन करने के
- 4:06:31लिए। ये सारे आपके ऑपरेटर्स हैं जिनको
- 4:06:33ओवरलोड कर सकते हो। आई वुड से कि इनको
- 4:06:35ओवरलोड करके देखो कैसे कर सकते हैं। ठीक
- 4:06:38है? तो दिस इज़ इट फॉर कंपाइल टाइम
- 4:06:40पॉलीमॉर्फिज्म। तो अब नेक्स्ट देखते हैं
- 4:06:42रन टाइम पॉलीमॉर्फिज्म। रन टाइम
- 4:06:43पॉलीमॉर्फिज्म क्या होता है? इसको मैं
- 4:06:45डायनेमिक पॉलीमॉर्फिज्म भी कहता हूं। यह
- 4:06:46रन टाइम पे होगा। यानी कि कंपाइलेशन हो
- 4:06:49चुकी होगी। आपकी एग्ज़क्यूटबल बन चुकी
- 4:06:51होगी। जब आपकी प्रोसेस चल रही होगी उस
- 4:06:54टाइम यह इन एक्शन आएगा। उस टाइम ये चीज
- 4:06:56होगी। ठीक है? तो इन सब चीजों को समझने से
- 4:06:58पहले। ठीक है? इसको फंक्शन ओवराइटिंग कहते
- 4:07:00हैं। मेक फंक्शन पॉलीमॉर्फिज्म ब्ल ब्ल
- 4:07:03ब्ल। ठीक है? ये सारी चीजें देखेंगे
- 4:07:05समझेंगे। उससे पहले ना एक एक छोटी सी
- 4:07:07प्रॉब्लम या एक एक डिज़ाइन समझते हैं। एक
- 4:07:09डिज़ाइन माइंडसेट समझते हैं। ठीक है? तो आप
- 4:07:13सभी को पता है। आप सभी को पता है कि हमारे
- 4:07:14पास क्या होता है। अगर मैं इनहेरिटेंस की
- 4:07:16बात करूं तो कैसे वर्क करती है वो? अगर
- 4:07:19मेरे पास एक शेप है जिसको मैं बोलता हूं
- 4:07:21सर्कल। ठीक है? फिर मेरे पास एक शेप है
- 4:07:24जिसको मैं बोलता हूं रेक्टेंगल। ठीक है?
- 4:07:26ऐसे मेरे पास स्क्वायर है।
- 4:07:30इन सबको अगर मैं बोलूं इनको अगर मैं इनको
- 4:07:34अगर मैं जनरलाइज़ करूं तो जनरलाइज़ करके मैं
- 4:07:36एक क्लास बना सकता हूं जिसको मैं बोल सकता
- 4:07:37हूं शेप। ठीक है? हमें पता है इसको
- 4:07:41जनरलाइज कर सकते हैं। इसको मैं बोलता हूं
- 4:07:44कि एक इन्हहेरिटेंस का एक सेटअप क्रिएट कर
- 4:07:47सकता हूं कि मेरे पास यह एक बेस क्लास हो
- 4:07:49जाएगी। ये इसकी सारी चिल्ड्रन क्लास हो
- 4:07:51जाएंगी। सब क्लास हो जाएंगी। है ना? तो ये
- 4:07:53एक एकदम हमें समझ आता है। ऐसा हो सकता है।
- 4:07:57ठीक है? तो एक काम करते हैं। इसको एक बार
- 4:07:59अचीव करने की कोशिश करते हैं। तो मैंने
- 4:08:01कहा एक क्लास बना लेते हैं शेप नाम की।
- 4:08:04ठीक है? और
- 4:08:07पब्लिक मेथड। अब देखो एक और चीज समझ आती
- 4:08:10है कि शेप में क्या होता है? एक शेप का
- 4:08:12ड्रॉ मेथड होता है। ठीक है? यानी कि आप
- 4:08:14रेक्टेंगल को अलग तरीके से ड्रॉ करते हो।
- 4:08:16स्क्वायर को अलग तरीके से ड्रॉ करते हो।
- 4:08:18सर्कल को अलग तरीके से ड्रॉ करते हो। एंड
- 4:08:20सो ऑन है ना? और मैं बोल सकता हूं एक
- 4:08:22जेनेरिक शेप मेथड एक जेरिक ड्रॉ मेथड भी
- 4:08:25हो सकता है। ठीक है? ठीक है? वो सारी
- 4:08:27शेप्स के लिए काम करेगा। तो मैं एक पब्लिक
- 4:08:31मेथड लिख देता हूं। ड्रॉ
- 4:08:34वड ड्र्रा
- 4:08:39और यहां पर लिख देते हैं हम जेनेरिक
- 4:08:44ड्राइंग।
- 4:08:49डन है? तो ये मैंने एक पेेंट क्लास डिफाइन
- 4:08:51कर दी है। नेक्स्ट मैं क्या करूंगा?
- 4:08:53नेक्स्ट मैं एक चाइल्ड क्लास बनाता हूं।
- 4:08:55ठीक है? चाइल्ड क्लास क्या होगी? अब मुझे
- 4:08:56पता है इन्हहेरिटेंस में आप सब समझ चुके
- 4:08:58हो कि हम ये सेटअप क्यों डिक्लेअ कर रहे
- 4:09:00हैं? है ना? रयूज़बिलिटी के लिए एटसेट्रा
- 4:09:02एटसेट्रा। तो इन्हहेरिटेंस पे हम नहीं
- 4:09:04जाएंगे। है ना? तो मेरे को क्या करना है?
- 4:09:07मुझे इज अ रिलेशनशिप नजर आता है सर्कल और
- 4:09:10शेप में। सर्कल इज अ शेप। तो मैं सिंपली
- 4:09:13इन्हहेरिटेंस यहां पे पुट कर दूंगा। तो
- 4:09:14मैंने बोला क्लास सर्कल।
- 4:09:17ठीक है? इन्हहेरिट किससे करेगी? पब्लिक
- 4:09:19तरीके से इन्हहेरिट करा देते हैं। शेप से
- 4:09:22डन है
- 4:09:25पब्लिक मेथड। ठीक है? अब देखो अब आपको ना
- 4:09:28ये बात समझ आती है। अब आपको ये बात समझ
- 4:09:30आती या फिर यहीं पे रुक जाते हैं। अभी के
- 4:09:32लिए यहीं पे रुक जाते हैं। यहां पर कुछ भी
- 4:09:33नहीं डालते हैं। और अगर मैं एक थॉट डालने
- 4:09:36की कोशिश करूं तो मुझे ये समझ आता है कि
- 4:09:38यार शेप मेथड के अंदर एक शेप क्लास के
- 4:09:40अंदर एक ड्रॉ मेथड है। बट आपका दिमाग में
- 4:09:42आता है कि शेप के अंदर जो ड्रॉ है और
- 4:09:46सर्कल के अंदर भी एक ड्रॉ होना चाहिए।
- 4:09:49क्योंकि सर्कल अलग तरीके से ड्रॉ होता है।
- 4:09:51सर्कल को ड्रॉ करने का अलग तरीका है। ठीक
- 4:09:54है? तो आपने कहा कि मैं एक काम करूंगा।
- 4:09:57मैं एक काम करूंगा। सर्कल के अंदर एक ड्रॉ
- 4:09:59मेथड बना देता हूं। अब ध्यान से सुनो।
- 4:10:01इन्हहेरिटेंस के अंदर क्या होता था कि
- 4:10:03आपकी बेस क्लास से चीज़ें आपकी चाइल्ड
- 4:10:07क्लास में आ जाती थी। ठीक है? इन्हहेरिट
- 4:10:09हो जाती थी। तो ऑब्वियसली ये ड्रॉ तो
- 4:10:11इनहेरिट हो ही गया होगा। तो अगर मैं यहां
- 4:10:12पे एक सर्कल नाम का एक सर्कल टाइप का
- 4:10:18तो अगर मैं यहां पे एक सर्कल टाइप का
- 4:10:19ऑब्जेक्ट बनाऊं C। ठीक है? और मैं C डॉट
- 4:10:22ड्रॉ कॉल करूं तो वो हो जाएगा। ठीक है?
- 4:10:24इसको चला के देखें तो C डॉट ड्रॉ कॉल हो
- 4:10:27जाएगा।
- 4:10:29और यह हो गया जेनेरिक ड्राइंग। बट क्या आप
- 4:10:32ऐसा चाहते हो? क्या आप ऐसा चाहते हो? नहीं
- 4:10:34चाहते। तो मैं एक काम करता हूं। मैं एक
- 4:10:36काम करता हूं। यहां पर एक और ड्रॉ मेथड
- 4:10:38कॉल कर देता हूं या फिर बना देता हूं।
- 4:10:40जिसको मैं बोलता हूं सर्कल ड्राइंग जो कि
- 4:10:42सर्कल वो जानता है कि सर्कल किस तरीके से
- 4:10:45ड्रॉ होता है। ठीक है? डन है? अब अगर मैं
- 4:10:47C डॉट ड्रॉ करूंगा तो क्या होगा? सर्कल इज़
- 4:10:50ड्रॉइंग। ठीक है? अंडरस्टुड अंडरस्टुड।
- 4:10:52यानी कि ड्रॉ मेथड सर्कल का ही कॉल हुआ जो
- 4:10:55कि आपको लगता है कि हां, ठीक है होना भी
- 4:10:57चाहिए था। ओके। अब सेम चीज करते हैं। सेम
- 4:11:00चीज मैं एक बार रेक्टेंगल बना देता हूं।
- 4:11:01ठीक है? रेक्टेंगल बना देते हैं। क्लास
- 4:11:03रेक्टेंगल।
- 4:11:05ठीक है? और इसका रेक्टेंगल का ड्राइंग
- 4:11:07मेथड अलग होगा। रेक्टेंगल का ड्राइंग मेथड
- 4:11:10अलग होगा गाइस। बना दिया मैंने। ओके? अब
- 4:11:16अब देखो, एक एक डिज़ाइन चॉइस होती है। ठीक
- 4:11:19है? इसको मैं डिज़ाइन का एक तरीका बोल सकता
- 4:11:21हूं। वो ऐसा होता है। मैं चाहता हूं कि
- 4:11:23मैं ना आपके बेस क्लास के पॉइंटर से या
- 4:11:26बेस क्लास के रेफरेंस से सारी चीजें हैंडल
- 4:11:28करूं। भैया क्या मतलब है इसका? समझते हैं।
- 4:11:30मैंने बोला एक वॉइड नाम का फंक्शन बनाते
- 4:11:32हैं जिसको मैं बोल देता हूं अ शेप
- 4:11:36ड्राइंग।
- 4:11:41ठीक है? अब ये शेप ड्राइंग क्या करता है?
- 4:11:43शेप ड्राइंग क्या करता है? यह बेस क्लास
- 4:11:45का पॉइंटर लेता है। बेस क्लास क्या होती
- 4:11:47है यहां पर? शेप। शेप नाम का कंप्यूटर
- 4:11:49लेता है शेप स्टार एस ठीक है और वह कहता
- 4:11:52है कि एस का ड्रॉ मेथड कॉल कर दो
- 4:11:56ठीक है ओके और ये मैं चाहता क्यों ये मैं
- 4:12:00चाहता क्यों क्योंकि मैं क्या करूंगा अभी
- 4:12:02बेस क्लास से मैं एक सर्कल सी बना देता
- 4:12:05हूं ठीक है और ऐसे ही मैं एक रेक्टेंगल
- 4:12:07बना देता हूं रेक्टेंगल ठीक है आर
- 4:12:11अब देखो अब बहुत सारे मेन के अंदर बहुत
- 4:12:13सारे सर्कल रेक्टेंगल ऐसे और भी बहुत सारी
- 4:12:15शेप्स होती हैं। ट्रायंगल भी एक शेप होती
- 4:12:17है। ऐसे ऐसे मान सकते हो दुनिया भर की
- 4:12:19शेप्स हैं आपके पास। ठीक है? बट आप चाहते
- 4:12:21हो कि ना रेलेवेंट
- 4:12:25शेप का मेथड कॉल हो यहां पर। यानी
- 4:12:27रेक्टेंगल हो तो रेक्टेंगल का मेथड कॉल
- 4:12:29हो। आपका सर्कल हो तो सर्कल का मेथड कॉल
- 4:12:31हो। ठीक है? समझते हैं कैसे? तो अगर मुझे
- 4:12:34एक काम करना होगा। ठीक है? तो मैं कैसे
- 4:12:35करूंगा? अगर मुझे एक शेप ड्राइंग मेथड कॉल
- 4:12:37करना होगा। तो सबसे पहले क्या मैं ऐसा कर
- 4:12:39सकता हूं कि मैं शेप ड्राइंग मेथड लिख
- 4:12:41दूं। शेप ड्राइंग। ठीक है? और इसके अंदर C
- 4:12:45को भेज दूं।
- 4:12:47ठीक है? दोबारा समझते हैं। मैंने बोला शेप
- 4:12:49ड्राइंग एक ऐसा फंक्शन है जिसको मैं मेन
- 4:12:50से कॉल करता हूं। और वह क्या करता है कि
- 4:12:52वह जिस भी टाइप की शेप है उसका ड्रॉ मेथड
- 4:12:57कॉल कर देता है। बट अगर आप यहां पे C
- 4:12:59डालते हो तो ये कह रहा है कि कोई सूटेबल
- 4:13:02कन्व कन्वर्ज़ नहीं हो पा रहा। ठीक है?
- 4:13:04क्योंकि ये C क्या है? एक सर्कल टाइप का
- 4:13:05है और ये तो शेप टाइप का है। अगर मैं यहां
- 4:13:08पे सर्कल ले लूंगा।
- 4:13:10सर्कल स्टार SS ले लूंगा तो ये चल जाएगा।
- 4:13:12देखो चला के देखें।
- 4:13:16ओके ओके गाइस ऐसे नहीं हमें यहां पर बाय
- 4:13:21रेफरेंस भेजना पड़ेगा ना बाय रेफरेंस
- 4:13:23भेजना पड़ेगा और ये चल गया देखो अगर आप
- 4:13:26सर्कल टाइप बना देते हो यहां पे तो ये चल
- 4:13:28जाता है ठीक है अब अब अगर मैं यहां चाहता
- 4:13:30हूं कि मैं रेक्टेंगल भेजना चाहता हूं तो
- 4:13:32मैंने बोला कि भ रेक्टेंगल का रेफरेंस भेज
- 4:13:34दो। अब रेक्टेंगल का रेफरेंस भेजूंगा तो
- 4:13:35ये गड़बड़ करेगा। अब मुझे यहां रेक्टेंगल
- 4:13:37करना पड़ेगा। अगर मुझे ट्रायंगल भेजना
- 4:13:39पड़ेगा तो यहां हमें ट्रायंगल करना पड़ेगा
- 4:13:41शेप ड्राइंग के अंदर। यहां पे ट्रायंगल
- 4:13:42लिखना पड़ेगा। ठीक है? अगर कोई पॉलीगन
- 4:13:44होता है तो यहां पॉलीगन लिखना पड़ेगा। तो
- 4:13:46एंड मुझे बहुत सारे अलग-अलग अलग-अलग शेप
- 4:13:48ड्राइंग शेप ड्राइंग शेप ड्राइंग बनाने
- 4:13:49पड़ेंगे। ठीक है? अब इसका एक बहुत अच्छा
- 4:13:51सॉल्यूशन होता है। ठीक है? बहुत अच्छा
- 4:13:53सॉल्यूशन होता है जिसको मैं रन टाइम
- 4:13:54पॉलीमॉर्फिज्म से अचीव करता हूं। वो कैसे?
- 4:13:57मैं चाहता हूं कि मैंने मेरा यहां पे शेप
- 4:13:59ही हो। यहां पे मैं शेप टाइप का ही पॉइंटर
- 4:14:01रखूं। ठीक है? और मैं जब जब भी शेप
- 4:14:04ड्राइंग कॉल करूं मैं जिस भी टाइप का जिस
- 4:14:07भी टाइप की शेप जिस भी स्पेसिफिक टाइप की
- 4:14:10शेप यहां भेजूं उस पर्टिकुलर का शेप मेथड
- 4:14:13कॉल हो जाए। उस पर्टिकुलर का शेप मेथड कॉल
- 4:14:15हो जाए।
- 4:14:17ठीक है? देखते हैं। तो अगर देखो दोबारा से
- 4:14:20बताता हूं। अगर मैं यहां पे एंड करके सी
- 4:14:21भेजता हूं। ठीक है? तो ये जा रहा है। तो
- 4:14:24ये जा रहा है। देखो तो ये जा रहा है। पहले
- 4:14:26क्यों नहीं जा रहा था? क्योंकि हमने यहां
- 4:14:28पे एंड नहीं दिया था। ऐसे ही भेज दिया था।
- 4:14:29ऐसे ही भेजते हैं, तो यह एरर देता है।
- 4:14:31मैंने बोला एंड भेज देते हैं। एंड का मतलब
- 4:14:33क्या है? एंड एंड एमसेंट लगाने से क्या
- 4:14:34होता है? मैंने बोला कि इसका मैंने एड्रेस
- 4:14:37भेज दिया। एड्रेस भेज दिया तो उसने एड्रेस
- 4:14:39पकड़ भी लिया। तो इसका मतलब अगर आप शेप
- 4:14:42टाइप का पॉइंटर बनाओ एस और उसके अंदर आप
- 4:14:47सर्कल का एड्रेस दे दो। सी
- 4:14:51सर्कल का एड्रेस दे दो। तो ये ये वर्किंग
- 4:14:54होती है। ये वर्किंग कंडीशन है। इसको मैं
- 4:14:55बोल देता हूं अपकास्टिंग।
- 4:14:58अपकास्टिंग। िंग अपकास्टिंग कैसे भाई?
- 4:14:59पेरेंट तो चाइल्ड को होल्ड कर सकता है ना।
- 4:15:01तो इसको अपकास्टिंग कहते हैं हम। क्योंकि
- 4:15:03अपॉकास्टिंग का मतलब क्या हो गया? आप आप
- 4:15:04चाइल्ड क्लास से पेरेंट क्लास को जा रहे
- 4:15:06हो। यानी कि पेरेंट क्लास का पॉइंटर
- 4:15:08चाइल्ड क्लास को होल्ड कर रहा है। उसके
- 4:15:10हाथ पकड़ के बैठा हुआ है। ठीक है? तो ये
- 4:15:11वैलिड होता है। ये वैलिड होता है। तो ये
- 4:15:14डिज़ाइन क्या मुझे हेल्प करता है कि अब मैं
- 4:15:16शेप ड्राइंग कॉल करूं। शेप ड्राइंग कॉल
- 4:15:18करूं दोबारा और यहां पे मैं आर लिख दूं।
- 4:15:20आर लिख दूं तो मेरा काम बन जाएगा। देखो
- 4:15:23मेरा काम बन गया। कैसे? कि मैंने यहां पे
- 4:15:26एंड सी भेजा। एम परसेंट आर भेजा। ठीक है?
- 4:15:29इन दोनों C और R के एड्रेस भेजे और यहां
- 4:15:31पे शेप ने पकड़ लिए और ये S डॉट ड्रॉ S डॉट
- 4:15:34डॉ कॉल कर देगा। तो मैं चाहता हूं कि मेरा
- 4:15:36रेलेवेंट टाइप का ड्रॉ कॉल हो जाए। अगर
- 4:15:38मैं चाहता हूं सर्कल का ड्रॉ तो सर्कल का
- 4:15:40ड्रॉ कॉल हो। रेक्टेंगल का ड्रॉ तो
- 4:15:42रेक्टेंगल का ड्रॉ कॉल हो जाए। अब इसको रन
- 4:15:43करके देखें क्या होता है।
- 4:15:47अब ये देखो। ये इस प्रॉब्लम की बात कर रहा
- 4:15:49हूं मैं। इस प्रॉब्लम की बात कर रहा हूं
- 4:15:50मैं। अब देखो ध्यान से देखो। मैंने
- 4:15:52एक्चुअली जो ऑब्जेक्ट भेजा है वो तो मैंने
- 4:15:55सी भेजा है सर्कल भेजा है और वो चला भी
- 4:15:57गया होगा यहां पे है ना बट आपका जो ड्रॉ
- 4:16:02मेथड कॉल हो रहा है वो आपका बेस क्लास का
- 4:16:04ड्रॉ मेथड कॉल हो रहा है दिस इज कॉल्ड एक
- 4:16:07प्रॉब्लमेटिक सिचुएशन मैं ऐसा नहीं चाहता
- 4:16:09ठीक है अगेन मैं रिपीट करता हूं मैं ऐसा
- 4:16:11कर क्यों रहा हूं मैं ऐसा इसलिए कर रहा
- 4:16:12हूं कि मुझे शेप में शेप ड्राइंग मेथड ना
- 4:16:14एक ही बार लिखना पड़े वो मैं जितनी बार भी
- 4:16:16इसके अंदर दुनिया भर की शेप्स भेजता रहूं
- 4:16:18भेजता रहूं उनके सी शेप्स के एड्रेस भेजता
- 4:16:19रहूंगा तो मेरा बेस क्लास का पॉइंटर ना इस
- 4:16:21चीज को हैंडल कर लें। इस चीज को हैंडल कर
- 4:16:24लें। मुझे बार-बार अलग-अलग टाइप के शेप
- 4:16:26ड्राइंग ना डिफाइन करने पड़े कि मैं एक
- 4:16:28शेप ड्राइंग बना रहा हूं जिसके अंदर सर्कल
- 4:16:30स्टार एस लिख रहा हूं। एक शेप ड्राइंग बना
- 4:16:31रहा हूं जिसके अंदर जिसके अंदर आपका
- 4:16:33रेक्टेंगल स्टार एस लिख रहा हूं। एक शेप
- 4:16:35ड्राइंग बना रहा हूं जिसके अंदर आपका
- 4:16:38ट्रायंगल स्टारs लिख रहा हूं। ठीक है?
- 4:16:39क्योंकि देखो अगर मैं एक शेप ड्राइंग यहां
- 4:16:41पे इसको सर्कल कर देता हूं। दोबारा से
- 4:16:43बताता हूं। सर्कल स्टारs कर देता हूं। ठीक
- 4:16:45है? और रेक्टेंगल तो इनकंपैटिबल हो जाएगा।
- 4:16:47अब इसको रन करता हूं। तो देखो यह यह सर्कल
- 4:16:49का ड्राइंग कॉल करेगा। तो अगेन मैं रिपीट
- 4:16:52करता हूं। मेरी प्रॉब्लम स्टेटमेंट है कि
- 4:16:53मैं बेस क्लास के पॉइंटर से ठीक है? बेस
- 4:16:56क्लास के पॉइंटर से ऑब्जेक्ट से मैं चाहता
- 4:16:59हूं कि मैं रेलेवेंट ड्रॉ मेथड कॉल कर
- 4:17:02दूं। ठीक है? क्योंकि मैं नहीं चाहता कि
- 4:17:05शेप ड्राइंग वाला जो मेथड है यहां मुझे
- 4:17:06मल्टीपल शेप ड्राइंग बनाने पड़े। क्योंकि
- 4:17:08एक शेप ड्राइंग ये बनाऊंगा। एक शेप
- 4:17:09ड्राइंग मैं बनाऊंगा रेक्टेंगल के लिए। एक
- 4:17:11शेप ड्राइंग बनाऊंगा ट्रायंगल के लिए।
- 4:17:13मुझे एक रेक्टेंगल के लिए बनाना पड़ेगा।
- 4:17:15ठीक है? एक मुझे यहां पे ट्रायंगल के लिए
- 4:17:16बनाना पड़ेगा।
- 4:17:20एंड सो ऑन। तो, इतने सारे डिफाइन करने
- 4:17:22पड़ेंगे। यह नहीं चाहता मैं। यह नहीं
- 4:17:23चाहता। मैं चाहता हूं एक ही डिफाइन करूं।
- 4:17:25ठीक है? एक ही डिफाइन करूं। उससे मेरा काम
- 4:17:28बन जाए। उससे मेरा काम बन जाए। ठीक है?
- 4:17:31अभी देखोगे तो क्या हो रहा है? अभी जेरिक
- 4:17:33दोनों रेक्टेंगल का ऑब्जेक्ट भेजा है तब
- 4:17:35भी जेनेरिक ड्रॉ हो रहा है। यानी कि ये
- 4:17:38वाला ये वाला मेथड कॉल हो रहा है। सर्कल
- 4:17:40भेजा है तब भी यह वाला तब भी आपका जेरिक
- 4:17:42वाला मेथड कॉल हो रहा है। अब इस प्रॉब्लम
- 4:17:44को कैसे सॉल्व कर सकते हैं? इस प्रॉब्लम
- 4:17:46को कैसे सॉल्व कर सकते हैं?
- 4:17:49समझते हैं। तो इस प्रॉब्लम सॉल्व करने का
- 4:17:51मतलब क्या है? पहली बात तो यह देखते हैं
- 4:17:53यह प्रॉब्लम आई क्यों है? यह प्रॉब्लम आई
- 4:17:56क्यों है? तो देखो आपने क्या किया? आपके
- 4:17:57पास एक बेस क्लास है। ठीक है? इसका नाम है
- 4:18:00शेप।
- 4:18:03इसका नाम है शेप। इसके अंदर एक ड्रॉ मेथड
- 4:18:06है। इसको इन्हहेरिट करते हुए एक क्लास बनी
- 4:18:09है। जिसका नाम है सर्कल।
- 4:18:15इसके अंदर एक ड्रॉ मेथड है। ठीक है? अब
- 4:18:19आपकी प्रॉब्लम स्टेटमेंट ये है। मैं चाहता
- 4:18:21हूं मैं शेप
- 4:18:23स्टार s = एक न्यू सर्कल बनाऊं। सर्कल
- 4:18:29बनाऊं। ओके?
- 4:18:32या फिर इसको दूसरे तरीके से लिख सकता हूं
- 4:18:34कि मैं एक सर्कल का ऑब्जेक्ट बनाऊं। सर्कल
- 4:18:36सी। ठीक है? और उसके बाद मैं शेप स्टार S
- 4:18:40= एंड C कर दूं। है ना? दोनों तरीके वैलिड
- 4:18:45है। जब भी मैं s शेप के कॉस्पोंडिंग शेप
- 4:18:49के कॉस्पोंडिंग ड्रॉ मेथड कॉल करूं तो मैं
- 4:18:53चाहता हूं कि मेरा सर्कल वाला डॉ मेथड कॉल
- 4:18:56हो क्योंकि मैंने सर्कल का रेफरेंस दिया
- 4:18:59है आपके एस वाले पॉइंटर को। यस ऐसा ही
- 4:19:03होना चाहिए। बट ऐसा होता नहीं है। ऐसा
- 4:19:05होता नहीं है। ऐसा क्यों नहीं होता?
- 4:19:07क्योंकि हमें पता है कि कंपाइलर जो होता
- 4:19:09है ना कंपाइलर वह इतना इंटेलिजेंट होता ही
- 4:19:11नहीं है कि वह इस इस कंफ्यूजन को इस
- 4:19:14कंफ्यूजन को हैंडल कर पाए। हैंडल कर पाए।
- 4:19:18तो वो क्या करता है? वो क्या करता है?
- 4:19:21देखो वो करता है कि देखो जैसे ही वो इस पे
- 4:19:23आता है कंपाइलर कंपाइल करते हुए आता है तो
- 4:19:25वो देखता है अच्छा किस टाइप का ऑब्जेक्ट
- 4:19:27बनाया है? एस टाइप का ऑब्जेक्ट बनाया है।
- 4:19:28तो जब भी एस डॉट डॉ या फिर एस एस एरो ड्रॉ
- 4:19:32कॉल होगा ना तो मैं इसको बाइंड कर देता
- 4:19:34हूं इससे
- 4:19:36इस ड्रॉ मेथड से। ठीक है? क्योंकि ध्यान
- 4:19:40से देखो। अगेन मैं रिपीट कर रहा हूं।
- 4:19:41कंपाइलर आया। कंपाइलर हैड डम। उसने देखा
- 4:19:44भाई यह बताओ किस टाइप का ऑब्जेक्ट बना है?
- 4:19:46भाई शेप टाइप का ऑब्जेक्ट बना है। अच्छा
- 4:19:48शेप टाइप का ऑब्जेक्ट बनाया है। तो शेप का
- 4:19:50ही तो ड्रॉ कॉल होना चाहिए। तो कंपाइलर
- 4:19:53जाता है और इससे बाइंड कर देता है। इससे
- 4:19:56बाइंड कर देता है। इसको कहते हैं हम अर्ली
- 4:19:58बाइंडिंग। कि कंपाइलर ने बस इतना देखा कि
- 4:20:01भाई किस टाइप का ऑब्जेक्ट बना है। ठीक है?
- 4:20:04और जाके उसने इससे बाइंड कर दिया। क्योंकि
- 4:20:07कंपाइलर कैसे चलता है? कंपाइलर जाता है
- 4:20:08लाइन बाय लाइन देखता जाता है। लाइन बाय
- 4:20:10लाइन जा यहां देखता है। ओके इसको इसने
- 4:20:12देखा। ओके अच्छा इसकी बात हो रही है। तो
- 4:20:14एक काम करते हैं। शेप की बात हो रही है।
- 4:20:16तो शेप का डॉ मेथड तो यहां पे है। शेप का
- 4:20:18ड्रॉ मेथड तो यहां पे है। ओके तो इससे
- 4:20:20बाइंड कर देता है। इसको हम कहते हैं अर्ली
- 4:20:22बाइंडिंग कि कंपाइल टाइम पे बाइंडिंग हो
- 4:20:24गई। तो जब भी आप शेप का ड्रॉ मेथड कॉल
- 4:20:26करते हो, एस का ड्रॉ मेथड कॉल करते हो, तो
- 4:20:29एक्चुअली शेप वाला मेथड कॉल हो जाता है।
- 4:20:32ठीक है? यही यहां पर हो रहा है। दोबारा रन
- 4:20:33करके दिखाता हूं।
- 4:20:35यही यहां पर हो रहा है। ठीक है? बट मेरी
- 4:20:38प्रॉब्लम स्टेटमेंट क्या है? भैया हम क्या
- 4:20:40चाहते हैं? हम चाहते हैं कि भाई सर्कल का
- 4:20:42ऑब्जेक्ट बनाया है ना तो सर्कल का ड्रॉ
- 4:20:43मेथड कॉल हो। रेक्टेंगल का ऑब्जेक्ट बनाया
- 4:20:46तो रेक्टेंगल का ड्रॉ मेथड कॉल होना
- 4:20:47चाहिए। ठीक है? ये सब गड़बड़ी नहीं होना
- 4:20:48चाहिए। इसको अचीव करने का तरीका होता है।
- 4:20:52इसको अचीव करने का तरीका होता है जिसको
- 4:20:53मैं बोलता हूं रन टाइम पॉलीमॉर्फिज्म। ठीक
- 4:20:56है? कैसे करेंगे? मेरे पास एक की होता है
- 4:20:59वर्चुअल कीवर्ड। वर्चुअल कीवर्ड। ठीक है?
- 4:21:02वो क्या करता है? यह एक वे है टू अचीव
- 4:21:04पॉलीमॉर्फिज्म बट डेफिंग बाइंडिंग डिसीजन
- 4:21:07एट रन टाइम। डेफर करना मतलब क्या होता है?
- 4:21:10टालना। डेफर कर दिया आपने बाइंडिंग डिसीजन
- 4:21:13को रन टाइम पे। यानी कि कंपाइलर आया।
- 4:21:16कंपाइलर आया। ओके कंपाइल करता हुआ आया।
- 4:21:20जैसे वो यहां पहुंचा उसने देखा अच्छा एस
- 4:21:23शेप की बात हो रही है। और आगे शेप का ड्रॉ
- 4:21:26मेथड कॉल हो रहा है। पहले क्या हो रहा था?
- 4:21:28उसने शेप का ड्रॉ मेथड पे इसको बाइंड कर
- 4:21:30दिया था। अब हम क्या करेंगे? एक एक नई
- 4:21:32एडिशन करेंगे। हम करेंगे ड्रॉ को वर्चुअल
- 4:21:35बना देंगे। इसके आगे लिख देंगे वर्चुअल।
- 4:21:37अब जैसे ही मैं इसके आगे वर्चुअल लिखूंगा
- 4:21:39कंपाइलर आएगा कंपाइल करता हुआ आएगा और
- 4:21:41यहां आएगा। उसने देखा s डॉट ड्रॉ की बात
- 4:21:43हो रही है। शेप टाइप का ऑब्जेक्ट बना था।
- 4:21:45पहले क्या होता वो शेप का ही डॉ कॉल करता।
- 4:21:47उसने देखा ये वर्चुअल है। वर्चुअल है। अब
- 4:21:49वर्चुअल का मतलब आप ऐसे समझ सकते हो कि
- 4:21:51आपने बोला कि ना इसको सीरियसली मत लो।
- 4:21:53आपने कंपाइलर को बोला कि सुनो एस का ड्रॉ
- 4:21:58लिखा है ना तो इसको ना सीरियसली मत लो।
- 4:22:01जरूरी नहीं है कि यह बेस क्लास का ही ड्रॉ
- 4:22:04कॉल हो। जरूरी नहीं है। हो सकता है यह
- 4:22:07इन्हहेरिटेंस में इनवॉल्वड हो और चाइल्ड
- 4:22:10क्लास का ड्रॉ कॉल करना हो। ठीक है? अगेन
- 4:22:12बोलता हूं इसको ऐसे याद करना बहुत आसान
- 4:22:14होता है। वर्चुअल को मान के चलो कि
- 4:22:16वर्चुअल जैसे ही आप बोलते हो किसी फंक्शन
- 4:22:19को आपने वर्चुअल जैसे ही बोला आपने
- 4:22:21कंपाइलर को बोला ना सुनो सुनो सुनो इसको
- 4:22:22ना सीरियसली मत लो। इसका डिसीजन रन टाइम
- 4:22:24पे लेंगे। रन टाइम पे देखेंगे कि किस टाइप
- 4:22:26का ऑब्जेक्ट बना है। उस तरीके से कर देंगे
- 4:22:28बाइंड। है ना? उस तरीके से कर देंगे
- 4:22:31बाइंड। इसी को मैं कह रहा हूं लेट
- 4:22:32बाइंडिंग। अब क्या होगा? अब क्या होगा?
- 4:22:34जैसे आपने वर्चुअल लिखा कंबल आया भागता
- 4:22:36हुआ। ओके। यहां पर देखा। ओके जी। क्या है?
- 4:22:39ये शेप टाइप का ऑब्जेक्ट बना है। और mसेंट
- 4:22:42आपने क्या दिया? सर्कल। सर्कल दिया है।
- 4:22:44ओके। अब जैसे ही उसने देखा कि यहां पे
- 4:22:47वर्चुअल लिखा है। बोला ये तो अर्ली
- 4:22:49बाइंडिंग नहीं करनी इसकी। इसको सीरियसली
- 4:22:50मत लो। रन टाइम पे देखेंगे और कंपाइल करके
- 4:22:53उसने एग्जीक्यूट ऑल बना दी। अब जब
- 4:22:55एक्चुअली प्रोग्राम रन हो रहा होगा तो
- 4:22:57देखो क्या होगा? जब प्रोग्राम रन हो रहा
- 4:22:58होगा तो वो यहां आएगा। प्रोग्राम रन हो
- 4:23:00रहा है अभी। प्रोग्राम रन होते हुए यहां
- 4:23:02आएगा। यहां देखा उसने s ओके। अब उसको समझ
- 4:23:04आता है कि ये बेस क्लास का पॉइंटर है। बट
- 4:23:07होल्ड किसको कर रहा है? चाइल्ड क्लास को।
- 4:23:10चाइल्ड क्लास को होल्ड कर रहा है। चाइल्ड
- 4:23:11क्लास का ऑब्जेक्ट होल्ड कर रहा है। अब जब
- 4:23:13आप एस एस का एरो कॉल करोगे। S का ड्रॉ कॉल
- 4:23:16करोगे। नॉट एरो। S का ड्रॉ करोगे। अब जो
- 4:23:18बाइंडिंग है वो रन टाइम पे होगी। रन टाइम
- 4:23:21पे वो जाके रिज़ॉल्व करेगा कि S किसका
- 4:23:24ऑब्जेक्ट था? किसका किसका ऑब्जेक्ट होल्ड
- 4:23:26कर रहा है? वह सर्कल का ऑब्जेक्ट होल्ड कर
- 4:23:27रहा है। ओके। अब ड्रॉ मेथड मुझे एक्चुअली
- 4:23:29सर्कल का ही कॉल करना है। इसको हम कहते
- 4:23:32हैं लेट बाइंडिंग। ठीक है? अगेन रिपीट
- 4:23:34करता हूं। अगर मैं बेस क्लास के पॉइंटर से
- 4:23:38बेस क्लास के पॉइंटर से मैं रेलेवेंट ड्रॉ
- 4:23:41मेथड कॉल करना चाहता हूं। कि जिस भी मेथड
- 4:23:45का या जिस भी टाइप का ऑब्जेक्ट बेस क्लास
- 4:23:47का पॉइंटर होल्ड कर रहा है, मैं उसका मेथड
- 4:23:49कॉल करना चाहता हूं। तो मुझे बेस क्लास के
- 4:23:52फंक्शन को वर्चुअल बनाना पड़ेगा। क्यों
- 4:23:54बनाना पड़ेगा? ताकि मैं अपने कंपाइलर को
- 4:23:57बोल सकूं कि ना इसको अभी बाइंड मत करो।
- 4:23:59इसको अभी सीरियसली मत लो। इसको अभी
- 4:24:01सीरियसली मत लो। कंपाइलर जैसे ही यह
- 4:24:03समझेगा वो बाइंडिंग नहीं करेगा। वो एस के
- 4:24:06ड्रॉ पे बाइंडिंग इसकी नहीं करेगा। ठीक
- 4:24:08है? नेक्स्ट क्या होगा? अब जब रन टाइम हो
- 4:24:11जाएगा। रन टाइम यानी कि अब प्रोग्राम रन
- 4:24:13हो रहा है। अभी प्रोग्राम चल रहा है।
- 4:24:14प्रोग्राम चल रहा है तो जब प्रोग्राम चल
- 4:24:16रहा है उस टाइम डिसीजन लिया जाएगा। उस
- 4:24:18टाइम वो सोचेगा ओके शेप टाइप का पॉइंटर
- 4:24:21है। होल्ड किसको कर रहा है? सर्कल टाइप के
- 4:24:24ऑब्जेक्ट को। क्योंकि वह सर्कल टाइप के
- 4:24:25ऑब्जेक्ट को होल्ड कर रहा है। तो ड्रॉ
- 4:24:27मेथड सर्कल का कॉल होना चाहिए। क्योंकि
- 4:24:30शेप का ड्रॉ मेथड तो वर्चुअल था। उसको
- 4:24:32सीरियसली लेना ही नहीं था। ठीक है? इस केस
- 4:24:34में क्या होगा? यहां पे लेट बाइंडिंग
- 4:24:37होगी। लेट बाइंडिंग का मतलब रन टाइम पे
- 4:24:38बाइंडिंग हो रही है। अर्ली बाइंडिंग मतलब
- 4:24:40कंपाइल टाइम पे ही पहले से बाइंड हो के ये
- 4:24:41चीजें रख दी गई हैं। इसको हम कहते हैं लेट
- 4:24:43बाइंडिंग। अब इसको करके देखते हैं। वापस
- 4:24:45स्क्रीन पे आते हैं। मैंने कहा शेप को मैं
- 4:24:47वर्चुअल कर देता हूं। वर्चुअल कर दिया। अब
- 4:24:50वर्चुअल करते ही अब मैं जिस भी टाइप का
- 4:24:52ऑब्जेक्ट भेजूंगा यहां पे। ठीक है? एक काम
- 4:24:53करते हैं। यहां पे इंटरेस्टिंग लग रहा है।
- 4:24:56यहां पे ट्रायंगल भी बना देते हैं।
- 4:24:59ट्रायंगल बना देते हैं। ट्रायंगल
- 4:25:03बना दी। ट्रायंगल इज ड्राइंग। अब ध्यान से
- 4:25:06देखो। अब मैं फिर से यह मेथड कॉल करूंगा।
- 4:25:10ठीक है? एक ट्रायंगल बनाते हैं। तो मैंने
- 4:25:12बोला ट्रायंगल बना लेते हैं। पहले तो
- 4:25:16ट्रायंगल
- 4:25:18T = न्यू ट्रायंगल बना दिया। अब इसको मैं
- 4:25:24भेज देता हूं यहां पर।
- 4:25:26ओके। कुछ गड़बड़ी की हमने यहां पे स्टार
- 4:25:28होना चाहिए
- 4:25:30और यहां पे मैंने डी भेज दिया।
- 4:25:33डन है ये मैंने हिप पे बना दिया। ठीक है?
- 4:25:35ये सारे स्टैक पे बने हुए थे। यहां पे बात
- 4:25:37खत्म हुई। अब देखते हैं क्या होता है। ठीक
- 4:25:39है? पहले वर्चुअल को फिर से हटा देता हूं।
- 4:25:41फिर से हटा देता हूं। वर्चुअल हटाने का
- 4:25:43मतलब क्या है गाइज़? क्या होगा? क्योंकि
- 4:25:45मैं शेप ड्राइंग मेथड कॉल कर रहा हूं। और
- 4:25:47यहां पे शेप जो है यह क्या है? शेप क्या
- 4:25:50है? बेस क्लास है। रन टाइम पे क्या होगा?
- 4:25:53रन टाइम पे अर्ली बाइंडिंग हो चुकी होगी।
- 4:25:55अर्ली बाइंडिंग का मतलब क्या है? अर्ली
- 4:25:57बाइंडिंग कहती है कि भाई जिस भी क्योंकि
- 4:25:59कंपाइलर होता है डम अर्ली बाइंडिंग कर
- 4:26:02देता है। उसको होता है भाई जिस भी टाइप का
- 4:26:04जिस भी टाइप का ऑब्जेक्ट है ना जिस भी
- 4:26:06टाइप का शेप टाइप का ऑब्जेक्ट है ना तो
- 4:26:07शेप का डॉ कॉल करूंगा। मेरे में
- 4:26:08इंटेलिजेंस नहीं है किसका करना है। यह
- 4:26:10होता है गेम में। ठीक है? करके देखते हैं।
- 4:26:12अब मैंने कहा कि अच्छा कंपाइलर को थोड़ा
- 4:26:15बेवकूफ बनाना है। कंपाइलर को बेवकूफ बनाने
- 4:26:17का मतलब है वर्चुअल कर दो कि भाई रन टाइम
- 4:26:19पर सोचना करना क्या है?
- 4:26:22अब अगर आप देखोगे तो अब अब क्या होगा?
- 4:26:25रहेगा तो ये अभी भी शेप ही रहेगा तो अभी
- 4:26:27भी बेस क्लास का पॉइंटर ही। पर अब इसके
- 4:26:29अंदर थोड़ी सी अकल आ जाएगी कि भाई रन टाइम
- 4:26:32पे जिस भी टाइप का ऑब्जेक्ट एक्चुअली वो
- 4:26:34है उसका मेथड कॉल करो। रन करके देखें क्या
- 4:26:37होगा। अब ध्यान से देखो। अब एक्चुअली क्या
- 4:26:40हो रहा है? यहां पर सर्कल का ही ड्राइंग
- 4:26:42कॉल हो रहा है। रेक्टेंगल का ही ड्राइंग
- 4:26:44कॉल हो रहा है। ट्रायंगल का ही ड्राइंग
- 4:26:45कॉल हो रहा है। दिस इज कॉल्ड रन टाइम
- 4:26:48पॉलीमॉर्फिज्म। कि रन टाइम पे आपने डिसीजन
- 4:26:51लिया और रन टाइम पे एक्चुअली कौन सा ड्रॉ
- 4:26:54मेथड कॉल हो रहा होगा उसको डिसाइड किया।
- 4:26:56दिस इज़ कॉल्ड रन टाइम पॉलीमॉर्फिज्म
- 4:26:58अचीव्ड बाय यूजिंग वर्चुअल कीवर्ड।
- 4:27:02ठीक है? और भैया पॉलीमॉर्फिज्म कैसे है
- 4:27:05ये? ध्यान से देखो। 43 लाइन पे एस का जो
- 4:27:09ड्रॉ कॉल हो रहा है, यह पॉलीमॉर्फिक है।
- 4:27:11इसको मैं बोलूंगा पॉलीमॉर्फिक।
- 4:27:14ड्रॉ इज़
- 4:27:15पॉलीमॉफिक।
- 4:27:18आई होप स्पेलिंग इज़ ओके।
- 4:27:21डॉ पॉलीमॉर्फिक क्या कैसे है? ध्यान से
- 4:27:23देखो। रन टाइम पे क्या हो रहा है? रन टाइम
- 4:27:25पे यह फंक्शन तो वही का वही है। अब यही
- 4:27:29फंक्शन की लाइन नंबर 43 रेवेंट ड्रॉ को
- 4:27:32कॉल कर रही है। ठीक है? पहले उसने सर्कल
- 4:27:35के ड्रॉ को कॉल किया। फिर उसने रेक्टेंगल
- 4:27:37के ड्रॉ को कॉल किया। फिर उसने ट्रायंगल
- 4:27:39के ड्रॉ को कॉल किया। दिस इज़ कॉल्ड रन
- 4:27:41टाइम पॉलीमॉर्फिज्म अचीव्ड बाय यूजिंग
- 4:27:43वर्चुअल कीवर्ड। और हमने समझा अर्ली
- 4:27:46बाइंडिंग एंड लेट बाइंडिंग। आल्सो अर्ली
- 4:27:48बाइंडिंग की बात करूं तो अगर वर्चुअल
- 4:27:49कीवर्ड नहीं लिखोगे आप। यहां पे वर्चुअल
- 4:27:51हटा दूं अगर मैं वर्चुअल हटा दूं। जैसे ही
- 4:27:54रन करोगे अर्ली बाइंडिंग हो चुकी होगी।
- 4:27:56अर्ली वाइंडिंग का क्या मतलब था भैया?
- 4:27:57अर्ली माइंडिंग का मतलब था कि जिस भी टाइप
- 4:27:59का पॉइंटर होगा जिस भी टाइप का पॉइंटर
- 4:28:01होगा क्योंकि कंपाइलर डंब होता है वो
- 4:28:03कहेगा भाई जिस भी टाइप का पॉइंटर ना उसका
- 4:28:04ड्रॉ ही कॉल करूंगा मैं उसके ड्रॉ से पहले
- 4:28:06ही बाइंड कर देता हूं पहले ही बाइंड कर
- 4:28:08देता हूं रन टाइम एंड टाइम वाली चीज मुझे
- 4:28:10नहीं समझ आती और जैसे ही आप इसको वर्चुअल
- 4:28:12करोगे जैसे आप इसको वर्चुअल करोगे क्या
- 4:28:15होगा कंपाइलर बोलेगा देखो
- 4:28:18देखो इस वाले वर्चुअल इस वाले ड्रॉ मेथड
- 4:28:21को सीरियसली नहीं लेना इसका मतलब किसी भी
- 4:28:23चाहे शेप टाइप का ऑब्जेक्ट है बट शेप का
- 4:28:25ड्रॉ अगर कॉल हो रहा है क्योंकि क्योंकि
- 4:28:27ड्रॉ वर्चुअल है। शेप का जो एक्चुअल ड्रॉ
- 4:28:29है वो वर्चुअल डिफाइन कर दिया है। तो इसको
- 4:28:30ना सीरियसली मत लो। अभी बाइंड मत करो। अभी
- 4:28:32मत सोचो किसको कॉल करना है। रन टाइम पे
- 4:28:34सोचेंगे किसको कॉल करना है। और जब रन टाइम
- 4:28:36पे आप आते हो रन टाइम पे आते हो तो
- 4:28:37वर्चुअल की मदद से आपका सर्कल, रेक्टेंगल,
- 4:28:39ट्रायंगल, डेली एंड रॉ मेथड कॉल हो जाता
- 4:28:42है। ठीक है? पर भैया इतना इतना लफड़ा करना
- 4:28:44क्यों? इतना लफड़ा इसलिए करना है कि देखो
- 4:28:46ना कितना सिंपल हो गया डिज़ाइन? कितना
- 4:28:48सिंपल हो गया डिज़ाइन? कैसे? अब आप जितनी
- 4:28:50बार भी चाहो आप इसी फंक्शन को यूज़ कर सकते
- 4:28:54हो टू ड्रॉ मल्टीपल फिगर्स। अलग-अलग टाइप
- 4:28:58की शेप्स को आप ड्रॉ कर सकते हो। सिर्फ और
- 4:29:00सिर्फ आपको ड्रॉ मेथड कॉल करना है। शेप
- 4:29:02ड्राइंग। ठीक है? और आपको उस टाइप का उस
- 4:29:04टाइप का बस ऑब्जेक्ट दे देना है। ठीक है?
- 4:29:07अगर मैंने यहां पर ट्रायंगल की जगह एक
- 4:29:09पॉलीगन बना दिया तो मैं क्या करूंगा कि एक
- 4:29:11पॉलीगन का ऑब्जेक्ट बनाऊंगा और पॉलीगन का
- 4:29:13ऑब्जेक्ट आपके इस इस वाले इसको भेज दूंगा।
- 4:29:16अब क्योंकि पॉलीगन का ऑब्जेक्ट मैं यहां
- 4:29:17भेज सकता हूं। क्यों भेज सकता हूं?
- 4:29:18क्योंकि पॉलीगन अब ऑब्वियसली एक चाइल्ड
- 4:29:22क्लास होगी शेप की तो वो उसको हैंडल कर
- 4:29:24लेगा। वो उसको पिक कर लेगा और वो रन टाइम
- 4:29:27पे पॉलीगन का ही ड्रॉ मेथड कॉल कर देगा।
- 4:29:29ठीक है? तो इसको कहते हैं आपका रन टाइम
- 4:29:32पॉलीमॉर्फिज्म। अब इसमें एक चीज़ आती है।
- 4:29:34आप ध्यान से देखो। व्हाई वी आर कॉलिंग इज़
- 4:29:35फंक्शन ओवराइडिंग? फंक्शन ओवराइडिंग क्यों
- 4:29:38कह रहे हैं इसको? वह इसलिए कह रहे हैं
- 4:29:40क्योंकि जब s का ड्रॉ आप कॉल करते हो तो
- 4:29:43वह शेप का ड्रॉ ना कॉल होकर वह रेलेवेंट
- 4:29:46शेप का ड्रॉ कॉल हो जाता है। सर्कल का
- 4:29:48ड्रॉ हो जाता है। तो इसका मतलब एक्चुअली
- 4:29:50ये वाला ड्रॉ कॉल होना था बट रन टाइम पे
- 4:29:52आपने ये वाला ड्रॉ कॉल कर दिया। तो इसको
- 4:29:54हम फंक्शन ओवराइडिंग कहते हैं कि आपने
- 4:29:56फंक्शन को ओवराइड कर दिया। तो एक बहुत
- 4:29:58अच्छा डिज़ाइन होता है। ठीक है? इसको मैं
- 4:30:00ओवराइड यहां पे कीवर्ड यूज़ कर सकता हूं।
- 4:30:02ठीक है? इससे होता कुछ नहीं है बट आपकी
- 4:30:04इंटेंशन क्लियर हो जाती है। इंटेंशन
- 4:30:06क्लियर हो जाती है। थोड़ा कोड दिखता है
- 4:30:07ब्यूटीफुल है। ब्यूटीफुल कैसे दिखता है कि
- 4:30:09जो भी आके कोड देख रहा है उसको समझ आ रहा
- 4:30:11है। उसको समझ आ रहा है कि देखो यहां
- 4:30:12ओवराइड लिखा है। ओवराइड का मतलब क्या है?
- 4:30:14कि जो इसकी इसकी बेस क्लास में अगर सेम
- 4:30:18ड्रॉ मेथड होगा तो वो ओवराइड कर दिया गया
- 4:30:20होगा। ठीक है? कि मतलब बेस क्लास का ड्रॉ
- 4:30:23मेथड कॉल नहीं करना। आप सर्कल वाला ड्रॉ
- 4:30:26मेथड कॉल करो। ठीक है? होगा कुछ नहीं। सेम
- 4:30:28रिजल्ट्स आएंगे। इट्स जस्ट दैट। वो आपके
- 4:30:30इंटेंशंस को क्लियर करता है। कोड को सेफ
- 4:30:32बनाता है। अच्छा लगता है कोड देखने में।
- 4:30:34एंड सो ऑन। ठीक है? नेक्स्ट आपके बहुत ही
- 4:30:37इंपॉर्टेंट चीज आती है अपकास्टिंग एंड
- 4:30:39डाउन कास्टिंग। ठीक है? इसको समझते हैं।
- 4:30:40इसको समझने से पहले एक काम करते हैं। इन
- 4:30:42सबको अभी के लिए हटा देते हैं या फिर
- 4:30:44कमेंट कर देते हैं और अपकास्टिंग डाउन
- 4:30:47कास्टिंग वाली चीज को समझते हैं। तो देखो
- 4:30:50दो चीजें होती हैं। सबसे पहला होता है कि
- 4:30:52अगर मैं विदाउट
- 4:30:55विदाउट वर्चुअल की बात करूं। विदाउट
- 4:30:58वर्चुअल कीवर्ड
- 4:31:01इसको समझते हैं। तो अगर वर्चुअल कीवर्ड
- 4:31:03मैं हटा दूं वर्चुअल कीवर्ड हटा हटा देते
- 4:31:06हैं। और यहां पर क्या करेंगे? एक बेस
- 4:31:08क्लास का ऑब्जेक्ट बनाते हैं। पेरेंट का
- 4:31:11पेरेंट का ऑब्जेक्ट बनाया मैंने। स्टार S
- 4:31:13= न्यू शेप।
- 4:31:18डन।
- 4:31:20अब अगर मैं S का ड्रॉ मेथड कॉल करता हूं
- 4:31:23तो कौन सा डॉ मेथड कॉल होगा। ठीक है? यह
- 4:31:26समझेंगे। अगेन
- 4:31:28अगर मैं बोलता हूं शेप बनाते हैं फिर से
- 4:31:30स्टार s = न्यू अब मैं बनाता हूं सर्कल
- 4:31:35यानी क्या हुआ मैंने बेस क्लास के पॉइंटर
- 4:31:37या पेरेंट पेरेंट का पॉइंटर बनाया और
- 4:31:40चाइल्ड का ऑब्जेक्ट स्टोर कर दिया उसमें
- 4:31:42ठीक है अब अगर मैं एस का ड्रॉ मेथड कॉल
- 4:31:45करूं तो अब क्या होता है
- 4:31:47नेक्स्ट दूसरी चीज भी हो सकती है इसको मैं
- 4:31:50कह रहा हूं अपकास्टिंग ये दोनों चीज
- 4:31:51अपकास्टिंग है इसको दोनों को मैं बोल सकता
- 4:31:53हूं अपकास्टिंग
- 4:31:56अब कास्टिंग कैसे है कि आप इसको नहीं
- 4:31:58दोनों को नहीं बोलेंगे हम गाइस दोनों को
- 4:32:00नहीं बोलेंगे हम इसको बोलेंगे बस इसको अब
- 4:32:02कास्टिंग बोल सकते हैं क्योंकि मैं क्या
- 4:32:04कर रहा हूं अपकास्टिंग का मतलब क्या है कि
- 4:32:06मैं एक्चुअली मैंने ऑब्जेक्ट तो बनाया
- 4:32:08चाइल्ड क्लास का बट चाइल्ड ऑब्जेक्ट बनाया
- 4:32:11है बट मैं उसको होल्ड कर रहा हूं पेरेंट
- 4:32:13में तो अपकास्ट करके होल्ड कर रहा हूं
- 4:32:14इसको अपकास्टिंग कहते हैं। ठीक है? तो ये
- 4:32:17विदाउट वर्चुअल कीवर्ड की बात हो रही है।
- 4:32:20हमने ये काम कर दिया। दूसरा चीज क्या मैं
- 4:32:21क्या कर सकता हूं? ओके। अब नेक्स्ट क्या
- 4:32:23कर सकता हूं मैं? मैं चाइल्ड बनाता हूं।
- 4:32:24चाइल्ड का पॉइंटर बनाता हूं। मैंने बोला
- 4:32:26सर्कल
- 4:32:29स्टारc = न्यू सर्कल।
- 4:32:34ठीक है? ये क्या है? ये तो आपने सर्कल का
- 4:32:37ऑब्जेक्ट बनाया। अब देखते हैं जब मैं सी C
- 4:32:39का ड्रॉ कॉल करता हूं तो कौन सा कौन सा
- 4:32:40ड्रॉ कॉल होता है। ठीक है? वैसे इसका आंसर
- 4:32:42आपको पता है। बट दैट इज़ ओके। अब मैं क्या
- 4:32:44कर सकता हूं? क्या मैं ये भी कर सकता हूं
- 4:32:46कि सर्कल स्टार अ क्या करें?
- 4:32:51C2 बना देता हूं। ठीक है? उसमें मैं क्या
- 4:32:53करूंगा? न्यू शेप।
- 4:32:57क्या ये पॉसिबल है? क्या मैं कर सकता हूं?
- 4:32:59C2 का ड्रॉ मेथड।
- 4:33:03ओके। तो हमने कहा कि जब भी मैं इसको मैं
- 4:33:05डाउन कास्टिंग बोल सकता हूं। ठीक है?
- 4:33:07देखते हैं डाउन कास्टिंग वर्क भी करती है
- 4:33:08कि नहीं। डाउन कास्टिंग।
- 4:33:13अप कास्टिंग का मतलब हुआ कि आप चाइल्ड का
- 4:33:16ऑब्जेक्ट बना रहे हो, पेरेंट में स्टोर कर
- 4:33:17रहे हो। डाउन कास्टिंग का मतलब क्या हुआ?
- 4:33:19पेरेंट का ऑब्जेक्ट बना रहे हो और चाइल्ड
- 4:33:20में स्टोर कर रहे हो। ठीक है? हम इसको रन
- 4:33:22करके देखें।
- 4:33:25ओके? हमें एरर रखा है कैन नॉट इनिशलाइज़ अ
- 4:33:27वेरिएबल ऑफ़ टाइप सर्कल स्टार विद एन आर
- 4:33:30वैल्यू ऑफ़ शेप स्टार। ठीक है? सीम्स डाउन
- 4:33:33कास्टिंग यहां पे वर्क नहीं कर रही है।
- 4:33:34ओके? इसको दूसरे तरीके से वर्क कराते हैं।
- 4:33:36इसको मैं बोलता हूं एक शेप टाइप का
- 4:33:37ऑब्जेक्ट बनाते हैं। शेप s2
- 4:33:41स्टार s2 =
- 4:33:44न्यू
- 4:33:45शेप। ठीक है? अब इसको
- 4:33:50S2 को S1 में डाल देते हैं। और इसको टाइप
- 4:33:53कास्ट कर देते हैं सर्कल स्टार करके।
- 4:34:01ठीक है? अब चला आगे देखते हैं।
- 4:34:05कुछ तो दिक्कत आई है गाइस। कुछ दिक्कत आई
- 4:34:07है।
- 4:34:10ओके। यहां पर इसको मैं S3 कर देता हूं।
- 4:34:12फिर इसको भी S3 कर देते हैं और रन करते
- 4:34:16हैं। ओके नाउ दिस इज़ वर्किंग। मैं विदाउट
- 4:34:21वर्चुअल कीवर्ड की बात कर रहा हूं।
- 4:34:22वर्चुअल कीवर्ड अभी मैंने नहीं लगाया हुआ।
- 4:34:23ध्यान से देखो। नहीं लगाया हुआ। तो अगर अब
- 4:34:26मैं ये इस तरीके का कॉन्फ़िगरेशन डालता हूं
- 4:34:29तो कौन सा ड्रॉ मेथड कॉल हो रहा है ये देख
- 4:34:31रहे हैं हम। तो अगर मैंने शेप बनाया ठीक
- 4:34:33है और पॉइंटर भी शेप का ही बना रखा है।
- 4:34:36शेप एक्चुअल ऑब्जेक्ट शेप है। पॉइंटर भी
- 4:34:37शेप का है। उसमें स्टोर करा के डॉ मेथड
- 4:34:39कॉल कर रहा हूं। तो ड्राइंग जेरिक ड्राइंग
- 4:34:41कॉल हो रहा है। और ऐसा होना भी चाहिए था।
- 4:34:43ठीक है? ओके। अगर मैं अब कास्टिंग कर रहा
- 4:34:46हूं। यानी कि मैं न्यू सर्कल टाइप का बना
- 4:34:49रहा हूं और ऑब्जेक्ट और शेप के अंदर मैं
- 4:34:52स्टोर कर रहा हूं। बेस क्लास का पॉइंटर
- 4:34:54बना के स्टोर कर रहा हूं। तो कौन सा स्टोर
- 4:34:56कौन सा कॉल होता है? जेरिक वाला ही कॉल
- 4:34:58होता है। यही प्रॉब्लम थी। है ना? हमने
- 4:34:59वर्चुअल से सॉल्व की थी। पर वर्चुअल अभी
- 4:35:01नहीं लगा हुआ है। तो यहां पे आपका शेप
- 4:35:03क्लास का ड्रॉ मेथड कॉल हो गया। यानी बेस
- 4:35:06पेरेंट क्लास का ड्रॉ मेथड कॉल हो गया।
- 4:35:08नेक्स्ट अगर मैं सर्कल बनाता हूं तो सर्कल
- 4:35:10का ही डॉ होगा। सर्कल का ही डॉ होगा।
- 4:35:12नेक्स्ट अगर यहां देखो यहां पे मैंने क्या
- 4:35:15किया है? शेप टाइप का ऑब्जेक्ट बनाया है।
- 4:35:17शेप टाइप का ऑब्जेक्ट और उसको सर्कल के
- 4:35:19पॉइंटर में स्टोर कराया है। तब भी आपका
- 4:35:21कौन सा ड्रॉ कॉल हुआ गाइस? सर्कल का।
- 4:35:23एक्चुअली ऑब्जेक्ट किसका बना था? पेरेंट
- 4:35:26का। ऑब्जेक्ट किसका बना था? पेरेंट का।
- 4:35:28यानी शेप का ऑब्जेक्ट बनाया था। स्टोर किस
- 4:35:29में किया? चाइल्ड के पॉइंटर में। और
- 4:35:31चाइल्ड ने डॉ मेथड किसका कॉल कर दिया
- 4:35:33गाइज़? सर्कल चाइल्ड का ही ड्रॉ कर दिया।
- 4:35:36यानी कि यहां भी एक प्रॉब्लमैटिक सिचुएशन
- 4:35:38है। यानी यहां एक प्रॉब्लमैटिक सिचुएशन
- 4:35:40है। देखो शेप शेप का कॉल है। कोई दिक्कत
- 4:35:42नहीं है। नो प्रॉब्लम इसका
- 4:35:46चाइल्ड चाइल्ड का ही कॉल करेगा। कोई
- 4:35:48दिक्कत नहीं है। बट यहां पर जब भी मैं
- 4:35:51कास्टिंग और डाउन कास्टिंग कर देता हूं।
- 4:35:52यहां पर प्रॉब्लम आती है। यहां दिक्कत हो
- 4:35:54जाती है। यहां दिक्कत हो जाती है। इसको
- 4:35:57मैं सॉल्व करता हूं किससे? वर्चुअल कीवर्ड
- 4:35:59से। अब वर्चुअल कीवर्ड डालूंगा मैं तो सही
- 4:36:02है। चल जाएगा। ठीक है? या फिर वर्चुअल
- 4:36:04कीवर्ड ऐड करने से पहले एक छोटी सी
- 4:36:06ऑब्जरवेशन बताता हूं। जब भी आपके वर्चुअल
- 4:36:08कीवर्ड नहीं होता, जब भी आपका वर्चुअल
- 4:36:10कीवर्ड नहीं होता, तब जिस भी क्लास का
- 4:36:14पॉइंटर बना रहे हो या फिर लेफ्ट साइड में
- 4:36:17जिस भी क्लास का ऑब्जेक्ट है, लेफ्ट साइड
- 4:36:19में लेफ्ट साइड में जो भी लिखा हुआ है,
- 4:36:21उसका कॉल होगा। मैं यहां पे लिख भी देता
- 4:36:23हूं।
- 4:36:26मैं यहां पे लिख भी देता हूं। मैं लिखता
- 4:36:29हूं कि भाई विदाउट वर्चुअल अगर बात करूं
- 4:36:33विदाउट वर्चुअल तो लेफ्ट में लेफ्ट में जो
- 4:36:37लिखा है
- 4:36:40या बोल सकते हैं जिसका
- 4:36:45जिसके ऑब्जेक्ट में
- 4:36:50एक्चुअल ऑब्जेक्ट स्टोर हो रहा है। आप ऐसे
- 4:36:54लिखते हो ना यहां पे लिखोगे कोई भी क्लास
- 4:36:56क्लास का नाम A इक्वल टू
- 4:37:00यहां पर कुछ क्लास का नाम होगा। यहां पे
- 4:37:02बना रहे हो न्यू क्लास का नाम क्लास कुछ
- 4:37:05और क्लास है क्लास बी है यहां पे ऐसे बना
- 4:37:07रहे हो तो यहां पे जो भी क्लास लिखी हुई
- 4:37:09है यहां पे क्लास सपोज ए है यहां पे जो भी
- 4:37:12लिखी हुई है उसका मेथड कॉल होगा यानी कि
- 4:37:14लेफ्ट में जो भी लिखा हुआ है उसका मेथड
- 4:37:16कॉल होगा अगर आपने वर्चुअल यूज़ नहीं किया
- 4:37:18है तो ठीक है और विद वर्चुअल
- 4:37:21विद वर्चुअल की बात करूं तो एक्चुअल जो
- 4:37:23होना चाहिए एक्चुअल जो होना चाहिए
- 4:37:29होना क्या चाहिए जो एक्चुअल ऑब्जेक्ट है
- 4:37:32उसका जो एक्चुअल
- 4:37:34ऑब्जेक्ट बना है
- 4:37:38उसका।
- 4:37:40जैसे कि यहां पर एक्चुअल ऑब्जेक्ट किसका
- 4:37:42बना है? शेप का। पर डॉ किसका हो रहा है?
- 4:37:44सर्कल का। गलत बात। यहां पे ऑब्जेक्ट
- 4:37:46किसका बना है? सर्कल का। पर डॉ किसका हो
- 4:37:48रहा है? शेप का। गलत बात। ये सारी चीज़
- 4:37:52सॉल्व कैसे होती है? जैसे आप वर्चुअल
- 4:37:53डालते हो, सॉल्व हो जाती है। वर्चुअल
- 4:37:56डालोगे आप। अब क्या होगा? शेप है। यह
- 4:37:59किसका ऑब्जेक्ट बना है? वर्चुअल डालते ही
- 4:38:00क्या होता है यहां पे जैसे ही मैं वर्चुअल
- 4:38:02ऐड करूंगा क्या होगा भाई किसका ऑब्जेक्ट
- 4:38:04बना है गाइज़ शेप का ऑब्जेक्ट बना है तो
- 4:38:06शेप का ही कॉल होगा देखें चला के यहां
- 4:38:09देखो शेप का ऑब्जेक्ट बना है शेप का ही
- 4:38:10कॉल हुआ अब कास्टिंग कर रहे हो कोई दिक्कत
- 4:38:12नहीं है वर्चुअल क्योंकि यूज़ कर रहे हैं
- 4:38:14हम तो उसने क्या बोला वर्चुअल ने लेट
- 4:38:16बाइंडिंग करेंगे बाद में सोचेंगे एक्चुअल
- 4:38:18ऑब्जेक्ट किसका बना है सर्कल का तो सर्कल
- 4:38:20का ही ड्रॉ कॉल होना चाहिए देखो सर्कल का
- 4:38:21ही ड्रॉ कॉल हुआ यहां पे देखो ऑब्जेक्ट
- 4:38:23एक्चुअल किसका बना है सर्कल का तो सर्कल
- 4:38:25का ही ड्रॉ तो कॉल होगा डाउन कास्टिंग में
- 4:38:26देखते हैं एक्चुअल ऑब्जेक्ट किसका बना है
- 4:38:28शेप का ठीक है? तो आप ध्यान से देखो। C2
- 4:38:32सर्कल का पॉइंटर है। बट तब भी किसका ड्रॉ
- 4:38:35कॉल कर रहा है?
- 4:38:37बेस क्लास का। बेस क्लास का ड्रॉ कॉल कर
- 4:38:40रहा है। इसका मतलब वर्चुअल लगाने के बाद
- 4:38:42थोड़ा सा इंटेलिजेंस आ जाती है। लेट
- 4:38:44बाइंडिंग हो जाती है और चीजें एक्चुअली
- 4:38:46जैसे चलनी चाहिए। जो एक्चुअली मेमोरी में
- 4:38:47ऑब्जेक्ट जिस चीज का बना है उसका रेलेवेंट
- 4:38:50ड्रॉ मेथड कॉल होता है। तो ठीक है? दिस इज़
- 4:38:52कॉल्ड आपका रन टाइम पॉलीमॉर्फिज्म जो कि
- 4:38:55बहुत ही इंपॉर्टेंट टॉपिक है। ठीक है?
- 4:38:57नेक्स्ट आता है आपका फाइनल कीवर्ड। फाइनल
- 4:38:59कीवर्ड के बारे में समझते हैं। फाइनल
- 4:39:00कीवर्ड क्या होता है? इन C++ फाइनल
- 4:39:02स्पेसिफायर इज यूज्ड इन टू मेन
- 4:39:05कॉन्टेक्स्ट। दो तरीके से हम इसको यूज़ कर
- 4:39:07सकते हैं फाइनल कीवर्ड को। पहला क्या है?
- 4:39:09क्लास के साथ कर सकते हैं या विद वर्चुअल
- 4:39:10मेंबर फंक्शन। क्लास के साथ या वर्चुअल
- 4:39:13मेंबर फंक्शन। वर्चुअल मेंबर फंक्शन का
- 4:39:14मतलब जिस फंक्शन को आपने बेस क्लास में
- 4:39:16वर्चुअल बनाया हुआ है। ये ये वर्चुअल
- 4:39:18मेंबर फंक्शन है। ठीक है? कैसे? प्रिवेंट
- 4:39:21क्लास इन्हहेरिटेंस। व्हेन यू डिक्लेअर अ
- 4:39:23क्लास एज़ फाइनल, इट मींस नो अदर क्लास कैन
- 4:39:25बी इन्हहेरिटेड। यानी क्लास को अगर हमने
- 4:39:27फाइनल बता दिया कि ये क्लास फाइनल है तो
- 4:39:29कोई और क्लास इससे इस पर्टिकुलर क्लास को
- 4:39:32इन्हहेरिट नहीं कर सकती। अगर मैंने कोई
- 4:39:34क्लास बनाई A और उसको मैंने बोल दिया
- 4:39:36फाइनल है A तो A को इन्हहेरिट करते हुए
- 4:39:38कोई B क्लास नहीं बन सकती। यानी कि A का
- 4:39:40कोई चाइल्ड नहीं बन पाएगा। करके देखें। एक
- 4:39:42बार शेप को फाइनल कर देते हैं। मैंने बोला
- 4:39:44इसको फाइनल कर दिया गाइज़। फाइनल कर दिया।
- 4:39:47शेप को कोई इन्हहेरिट नहीं कर पाएगा। अब
- 4:39:48रन करके देखें। एरर दुनिया भर के एरर कि
- 4:39:52आप नहीं कर सकते। अब जैसे ही मैं फाइनल
- 4:39:54बनाऊं फाइनल हटाऊंगा यहां पर यहां भी एरर
- 4:39:56आ रहा है। देखो ध्यान से कि इसको इनहेरिट
- 4:39:58नहीं कर सकते कि शेप को आपने फाइनल मार्क
- 4:40:00किया हुआ है। ठीक है? नेक्स्ट आपका आता है
- 4:40:01कि प्रिवेंट वर्चुअल फंक्शन ओवराइडिंग। अब
- 4:40:04जैसे ये वर्चुअल फंक्शन आपका है डॉ मेथड
- 4:40:06है। ठीक है? पहले इसको रन करके वापस से
- 4:40:07बता देता हूं मैं। अब ये सही हो गया। है
- 4:40:09ना? वापस से आते हैं। मैंने कहा वर्चुअल
- 4:40:12मेथड जो वर्चुअल फंक्शन है उसके ओवराइटिंग
- 4:40:14को भी प्रिवेंट कर सकता है। अब ध्यान से
- 4:40:16देखो। यहां पे क्या हो रहा था? यहां पे
- 4:40:18क्या हो रहा था? आपने जैसे ही वर्चुअल ऐड
- 4:40:20किया हुआ था तो आपका रेलेवेंट जो भी ड्रॉ
- 4:40:23मेथड कॉल होना चाहिए था वो हो रहा था कॉल
- 4:40:25यानी कि फंक्शन ओवराइडिंग हो रही थी।
- 4:40:27ओवराइडिंग कैसे हो रही थी? दोबारा याद
- 4:40:29दिलाता हूं। यहां पर सर्कल का ऑब्जेक्ट
- 4:40:30बना था। सर्कल का ऑब्जेक्ट बना था। किस
- 4:40:32में स्टोर हो रहा है? शेप में स्टोर हो
- 4:40:34रहा है। शेप में स्टोर हो रहा है। और जब
- 4:40:36शेप टाइप के पॉइंटर से मैंने ड्रॉ मेथड
- 4:40:38कॉल हुआ तो सर्कल इस ड्राइंग कॉल हो गया।
- 4:40:41यानी सर्कल मेथड का ड्रॉ कॉल हो गया। यानी
- 4:40:43कि सर्कल वाला जो डॉ मेथड है, इसने शेप
- 4:40:47वाले ड्रॉ मेथड को ओवराइड कर दिया। यही हो
- 4:40:49रहा था। ठीक है? अब नेक्स्ट देखो।
- 4:40:52अगर मैं इसको फाइनल बना दूं।
- 4:40:56मैंने क्या किया? जो आपका डॉ मेथड शेप में
- 4:40:59लिखा हुआ है उसको फाइनल बना दिया। अब इसको
- 4:41:01रन करते हैं। रन करते ही एरर आ गया कि
- 4:41:04भैया आप आप इस मेथड को ना डॉ वो नहीं कर
- 4:41:08सकते। ओवराइड। इस मेथड को ओवराइड नहीं कर
- 4:41:10सकते। अब यार ड्रॉ को ओवराइड नहीं कर पा
- 4:41:12रहे हो आप। इसने बोल दिया देखो कि
- 4:41:15डिक्लेरेशन ऑफ ड्रॉ ओवराइड्स ए फाइनल
- 4:41:18फंक्शन। ये एक फाइनल फंक्शन है। ड्रॉ यानी
- 4:41:20शेप के अंदर एक डॉ मेथड लिखा है जो कि
- 4:41:22मैंने बोला फाइनल यानी कि शेप के अंदर जो
- 4:41:24ड्रॉ मेथड लिखा हुआ है ना वो फाइनल है।
- 4:41:27उसको आप बेस क्लास में जाके नया ड्रॉ बना
- 4:41:29के ओवराइड नहीं कर सकते। ठीक है? तो ये
- 4:41:31होता है फाइनल कीवर्ड का यूजेज। ठीक है?
- 4:41:34तो ये था आपका फाइनल कीवर्ड। ठीक है? ठीक
- 4:41:35है? तो आई होप आपको पॉलीमोर्फिज्म समझ आया
- 4:41:37होगा जिसमें कि आपका रन टाइम
- 4:41:38पॉलीमोर्फिज्म आता है। कंपाइल टाइम
- 4:41:40पॉलीमोर्फिज्म आता है। ठीक है? रिपीट करता
- 4:41:41हूं। सबसे पहला होता है आपका कंपाइल टाइम
- 4:41:43पॉलीमोर्फिज्म। ठीक है? जिसको मैं स्टैटिक
- 4:41:45पॉलीमोर्फिज्म कहता हूं। इसके अंदर फंक्शन
- 4:41:47ओवरलोडिंग आती है और ऑपरेटर ओवरलोडिंग आती
- 4:41:49है। ये सब कंपाइल टाइम पे हो जाता है। फिर
- 4:41:51आता है आपका डायनेमिक पॉलीमोर्फिज्म। इसको
- 4:41:52मैं रन टाइम पॉलीमोर्फिज्म भी कहता हूं।
- 4:41:54इसके अंदर आपका वर्चुअल कीवर्ड की मदद से
- 4:41:57जिस भी टाइप का एक्चुअली आप ऑब्जेक्ट बना
- 4:41:59रहे हो, जिस भी टाइप का ऑब्जेक्ट एक्चुअली
- 4:42:01बन रहा है, ठीक है? उसका
- 4:42:05रेवेंट मेथड कॉल कर पाते हो। ठीक है? इसको
- 4:42:09मैं कहता हूं रन टाइम पॉलीमॉर्फिज्म। ठीक
- 4:42:11है? ओके? और अगेन मैं रिपीट करता हूं।
- 4:42:14जैसे कि मैंने बताया था कि यहां पर ये जो
- 4:42:16ड्रॉ मेथड था ये पॉलीमॉर्फिक था। क्योंकि
- 4:42:18ठीक है? क्योंकि शेप टाइप का ऑब्जेक्ट है
- 4:42:20यहां पर। शेप टाइप का पॉइंटर है। शेप टाइप
- 4:42:23के पॉइंटर की मदद से आप रेलेवेंट ड्रॉ
- 4:42:24मेथड कॉल कर रहे हो। और रन टाइम पे हो रहा
- 4:42:26है। ये रन टाइम पे हो रहा है। यानी कि
- 4:42:29ड्रॉ कौन सा एक्चुअली ड्रॉ कॉल होगा? यह
- 4:42:31पॉलीमॉर्फिक है। यह ड्रॉ चीज यहां पे
- 4:42:33पॉलीमॉर्फिक है। वो रन टाइम पे डिसाइड
- 4:42:35होगा कि कौन सा कॉल होगा। ठीक है? आई होप
- 4:42:36आपको पॉलीमोर्फिज्म एंड C++ समझ आया होगा।
- 4:42:38मिलते हैं ऐसे किसी नेक्स्ट वीडियो में।
- 4:42:39तब तक के लिए गुड बाय। इस वीडियो में
- 4:42:40देखने वाले हैं एब्स्ट्रैक्शन इन C++। ठीक
- 4:42:43है? एकदम प्रैक्टिकल एग्जांपल देखेंगे।
- 4:42:45कोड करके देखेंगे एब्स्ट्रैक्शन कैसे वर्क
- 4:42:47करती है। और कुछ मैजिकल वर्ड बोलना
- 4:42:49चाहूंगा। मैजिकल वर्ड ये है कि C++ के
- 4:42:52अंदर या फिर ऊप्स के अंदर जो ऑब्जेक्ट
- 4:42:53ओरिएंटेड टेक्नोलॉजी यूज़ होती है उसके
- 4:42:55अंदर आपके दो ही कांसेप्ट होते हैं। एक
- 4:42:57होती है एब्स्ट्रैक्शन, एक लूज़ कपलिंग।
- 4:42:59ठीक है? तो ये दो बड़ी-बड़ी चीजें होती
- 4:43:01हैं। एब्स्ट्रैक्शन क्या है?
- 4:43:03एब्स्ट्रैक्शन के अंब्रेला के अंदर ही आते
- 4:43:05हैं। पॉलीमॉर्फिज्म और ये आपके
- 4:43:07इन्हहेरिटेंस और आपका कैप्सुलेशन ये सब
- 4:43:10उसी के अंदर आते हैं। ठीक है?
- 4:43:11एब्स्ट्रैक्शन एक बड़ी बड़ी टर्मिनोलॉजी
- 4:43:13है। उसको ऊपर समझने की कोशिश करते हैं।
- 4:43:15एब्स्ट्रैक्शन क्या है? डिलीवरिंग ओनली
- 4:43:17एसेंशियल इनेशन टू द आउटर वर्ल्ड व्हाइल
- 4:43:19मास्किंग डिटेल्स। और एब्स्ट्रैक्शन आप
- 4:43:22देखोगे हर जगह है। इसका मतलब आप गाड़ी
- 4:43:24ड्राइव कर रहे हो। आप गाड़ी ड्राइव करते
- 4:43:26हुए आपको सिंपल गाड़ी चलाना सीखना होता
- 4:43:28है। ठीक है? आपको पता है गिय्स हैं। गिय्स
- 4:43:30आपको शिफ्ट करने हैं। नीचे क्लच है, ब्रेक
- 4:43:32है। आपको एक्सलरेट करना है। स्टीयरिंग को
- 4:43:35लेफ्ट राइट करना है। इंडिकेटर्स देने हैं।
- 4:43:37यह सब पता है। अब अगर मैं उठाकर गाड़ी के
- 4:43:41गाड़ी को वर्कशॉप पे ले जाऊं और गाड़ी का
- 4:43:43इंजन चेंज कर दूं या फिर उसके अंदर
- 4:43:45ब्रेक्स चेंज कर दूं या फिर उसकी थोड़ी
- 4:43:46वर्किंग का लॉजिक चेंज कर दूं कि फर्स्ट
- 4:43:48गियर में इतना पेट्रोल नहीं है, थोड़ा
- 4:43:50ज्यादा पेट्रोल लगाना है, ज्यादा आरपीएम
- 4:43:51करना है। इस टाइप का लॉजिक चेंज कर दूं,
- 4:43:53तो आपके गाड़ी चलाने का लॉजिक में कोई
- 4:43:54डिफरेंस नहीं आएगा। आपको वही करना है।
- 4:43:56इसका मतलब जो गाड़ी किस तरीके से डिजाइन
- 4:43:59हुई है जो मशीन जिस तरीके से डिजाइन हुई
- 4:44:00है वो एब्स्ट्रैक्टेड है। उसका जो
- 4:44:02इंप्लीमेंटेशन है ना एक्चुअली कैसे
- 4:44:04इंप्लीमेंटेड है वो एब्स्ट्रैक्ट है। यूजर
- 4:44:06को उसकी टेंशन लेने की जरूरत नहीं है।
- 4:44:07उसको सिंपली गाड़ी चलानी है। ठीक है? और
- 4:44:09एक एग्जांपल हो सकता है कि जब आप सिंपली
- 4:44:12अपने हेडफोनस यूज़ कर रहे हो, एयरपड्स
- 4:44:14यूज़ कर रहे हो। ठीक है? आपको ये नहीं
- 4:44:15देखना अंदर कैसे इंप्लीमेंटेड है। ब्लूटूथ
- 4:44:17से कैसे कनेक्ट हुआ है। अंदर कैसे
- 4:44:19इलेक्ट्रिसिटी वर्क कर रही है। कौन सी
- 4:44:20बैटरी है ये वो कुछ नहीं। आप सिंपल कनेक्ट
- 4:44:22करते हो, चलाते हो। अब कल को आप सर्विस
- 4:44:25सेंटर पर दे दो एयरपोर्ट्स को और उसके
- 4:44:27अंदर फॉर्मवेयर अपडेट हो जाए अंदर और आप
- 4:44:29वापस आके यूज करने लग जाओगे। अंदर से कुछ
- 4:44:30इंप्लीमेंटेशन चेंजेस हुए हैं। बट आपको
- 4:44:32कोई फर्क नहीं पड़ता। ठीक है? तो इसको
- 4:44:34एब्स्ट्रैक्शन कहते हैं कि इंप्लीमेंटेशन
- 4:44:36डिटेल या फिर वो डिटेल जो कि जरूरी नहीं
- 4:44:39है यूजर को जाननी। वो आपने हाइड कर दी। सम
- 4:44:41हाउ किसी तरीके से हाइड कर दिया। समझेंगे
- 4:44:43हम पूरा प्रोग्रामेटिकली समझेंगे। बट आपने
- 4:44:47वो सब हाइड कर दिया है और अपना यूजर अब
- 4:44:49उसकी टेंशन नहीं ले रहा है। ठीक है? इसको
- 4:44:50ही कहते हैं एब्स्ट्रैक्शन। एब्स्ट्रैक्शन
- 4:44:52हर जगह है। आप नॉर्मल रियल लाइफ में सच्ची
- 4:44:55बताऊं तो जो आपका ऊप्स है ना ऊप्स आया
- 4:44:57क्यों प्रोग्रामिंग के अंदर? पहले लोग
- 4:44:59सिंपल फंक्शनल प्रोग्रामिंग करते थे।
- 4:45:01सिंपल आपका एक एक फंक्शन बनाया फंक्शन कॉल
- 4:45:05करी। जो आप नॉर्मली प्रोग्राम करते हो
- 4:45:06ऊप्स पढ़ने से पहले वो सब फंक्शनल
- 4:45:08प्रोग्रामिंग होती है। आपने मेन लिखा मेन
- 4:45:10के अंदर एक फंक्शन लिखा, दो फंक्शन लिखा
- 4:45:12उनको कॉल करे जा रहे हो। आपस में वो
- 4:45:13फंक्शनल प्रोग्रामिंग है। ऊब्स आया ही
- 4:45:15कांसेप्ट में इसलिए है कि जब आप जब रियल
- 4:45:17लाइफ से हमने देखा है रियल लाइफ में
- 4:45:19क्या-क्या होता एब्स्ट्रैक्शन होती है।
- 4:45:20एब्स्ट्रैक्शन मतलब कि हर चीज सबको नहीं
- 4:45:22बतानी होती। ठीक है? आप उठाकर अगर MacBook
- 4:45:26यूज़ कर रहे हो या अपना लैपटॉप यूज़ कर रहे
- 4:45:27हो तो आपको उसके अंदर कैसे इंप्लीमेंटेशन
- 4:45:29है वो नहीं जाननी। आपको सिंपल यूज़ करना है
- 4:45:31उसको। यूज़ करनी आनी चाहिए। बस सिंपल। तो
- 4:45:34FS सेक्शन हर जगह है। तो प्रोग्रामिंग में
- 4:45:36भी इसको लाया गया है ताकि सही बताऊं तो ये
- 4:45:39लाया गया है सिर्फ इसलिए ताकि ईजी रहे। सब
- 4:45:42कुछ ईजी रहे। वो कैसे ईजी होगा वो हम
- 4:45:43देखेंगे। ठीक है? डोंट वरी।
- 4:45:46और सही बताऊं तो अब तक आप जितना भी कोड कर
- 4:45:48रहे हो ना उसमें आपने एब्स्ट्रैक्शन खुद
- 4:45:49से यूज करी है। ठीक है? वह आपको पता नहीं
- 4:45:51है बट आपने यूज़ करी है। इट इज ए डिजाइन
- 4:45:54एंड प्रोग्रामिंग मेथड। एक डिजाइन करने का
- 4:45:56और लिखने का तरीका है प्रोग्रामिंग करने
- 4:45:57का तरीका है। दैट सेपरेट्स द इंटरफ़ेस
- 4:45:59फ्रॉम द इंप्लीमेंटेशन। इस इंटरफ़ेस फ्रॉम
- 4:46:02द इंप्लीमेंटेशन जो है कि इंटरफ़ेस अलग है
- 4:46:05इंप्लीमेंटेशन से। इसको हम समझेंगे थोड़ी
- 4:46:07देर में। ठीक है? डोंट वरी। आगे देखते
- 4:46:09हैं। सबसे पहले एब्स्ट्रैक्शन इन हेडर
- 4:46:11फाइल्स। ठीक है? ये आपने बहुत यूज़ किया
- 4:46:13है। ये आप करते ही आ रहे हो यूज़। इसका
- 4:46:16मतलब क्या है? फंक्शन की इंप्लीमेंटेशन
- 4:46:17हिडन है हेडर फाइल के अंदर। ठीक है?
- 4:46:20एग्जांपल देखते हैं एक बार। वापस आते हैं
- 4:46:22स्क्रीन पे। आपने यहां पे क्या करते हो
- 4:46:24आप? आप आपको क्या करना है? आपको सपोज़ करते
- 4:46:28हैं। आपने एक वेक्टर डिक्लेअ किया वेक्टर
- 4:46:30इंट
- 4:46:32=
- 4:46:343 4 1 2
- 4:46:38ठीक है? ये डिक्लेअ करा। आपको इसके लिए#श
- 4:46:41इंक्लूड वेक्टर करना पड़ेगा।
- 4:46:46आपने किया। अब आपको आपका टास्क था कि इसके
- 4:46:49इसको ना मुझे सॉर्ट करना है। सॉर्ट करना
- 4:46:50है। तो आप क्या करते हो? आप क्या करते हो?
- 4:46:53आप करते हो यार हेडर फाइल के अंदर जाओ। एक
- 4:46:55हेडर फाइल इंक्लूड करो। हैश इंक्लूड
- 4:46:59और एल्गोरिदम।
- 4:47:02यह इंक्लूड करी और इंक्लूड करने के बाद आप
- 4:47:04सॉर्ट फंक्शन यूज करते हो और उसमें v डॉट
- 4:47:08बिगिन देते हो फिर v डॉट एंड देते हो
- 4:47:14ठीक है सिंपल ये लिखते हो और फिर उसके बाद
- 4:47:15इसको आप प्रिंट करा देते हो
- 4:47:27आपने i प्रिंट कराया हैंडल सिंपल ठीक है
- 4:47:30यही आप करते हो और आप सिंपली इसको इसको
- 4:47:32कंपाइल करोगे? हम कंपाइल करके देख लेते
- 4:47:33हैं फटाफट से इसको।
- 4:47:377 डॉट कंपाइल करते हैं। और ये एरर आ गया।
- 4:47:40एरर क्या आ रहा है आपका? नॉन एग्रीगेटेड
- 4:47:42टाइप कैन नॉट इनिशियलाइज विद इनिशलाइजिंग
- 4:47:44लिस्ट। ओके? तो इसके लिए आपको कंपाइलर में
- 4:47:47एक एक्स्ट्रा वो देना पड़ेगा। एक्चुअली ये
- 4:47:49जो ये तरीका है ना आपका वेक्टर को
- 4:47:51इंप्लीमेंट करने का, इनिशलाइज़ करने का।
- 4:47:52सॉरी ये तरीका है ये C++ 11 से आया था। तो
- 4:47:56हमें यहां पे कंपाइलर शायद पुराना होगा।
- 4:47:58तो हमें यहां hन एसटीd
- 4:48:01= C++ 11 देना पड़ेगा। तो ये कंपाइल हो
- 4:48:04जाएगा। ठीक है? कंपाइल हो गया। अब हमने
- 4:48:06इसको प्रिंट कर दिया। अब आप ध्यान से देखो
- 4:48:09एब्स्ट्रैक्शन कैसे है यहां पे। आपको नहीं
- 4:48:12पता सॉर्ट कैसे इंप्लीमेंट हुआ है। आपको
- 4:48:15नहीं पता। हो सकता है इसके अंदर बबल सॉर्ट
- 4:48:18यूज़ हुआ हो। हो सकता है इसके अंदर मर्ज
- 4:48:19सॉर्ट यूज़ हुआ। हो सकता है क्विक सॉर्ट
- 4:48:21यूज़ हुआ हो। हो सकता है काउंटिंग सॉर्ट
- 4:48:22यूज़ हुआ हो। हो सकता है शेल सॉर्ड यूज़
- 4:48:24हुआ। हो सकता है कोई भी टाइप का सॉर्ट यूज़
- 4:48:26हुआ हो। हो सकता है घटिया से घटिया या
- 4:48:27बढ़िया से बढ़िया शॉर्ट यू शॉर्ट का तरीका
- 4:48:29यूज़ हुआ हो। है ना? आपको इससे टेंशन नहीं
- 4:48:32है। आपने सिंपली इसको ला लिख दिया शॉर्ट
- 4:48:35और आपने अपना काम करने लग गए। ठीक है? अब
- 4:48:37इससे क्या हो रहा है? इससे बोलोगे भैया
- 4:48:39इससे यही तो करते हैं हम। इससे क्यों कर
- 4:48:41रहे हैं हम ऐसा? ताकि आपको कन्वीनिएंट
- 4:48:43रहे। अब आपको मैं हर बार यहां पे सॉर्ट की
- 4:48:46इंप्लीमेंटेशन दिखाऊं या फिर सॉर्ट की
- 4:48:47इंप्लीमेंटेशन हर बार लिखनी पड़े आपको। तो
- 4:48:49आप तो अपना जो मेन लॉजिक लिखना चाह रहे
- 4:48:52हो, बड़ा प्रोग्राम लिखना चाह रहे हो वो
- 4:48:54होएगा ही नहीं। आप छोटे-छोटे
- 4:48:55इंप्लीमेंटेशन डिटेल में ही फंसे रह
- 4:48:57जाओगे। तो इसीलिए एब्स्ट्रैक्शन कांसेप्ट
- 4:48:59आया है कि भाई आपको जो आपके काम की चीज है
- 4:49:03वो दिखाई जाए और कुछ ना दिखाई जाए। ठीक
- 4:49:06है? तो यही है यहां पे फंक्शन
- 4:49:08इंप्लीमेंटेशन हाइड हो रखी है आपकी हेडर
- 4:49:10फाइल के अंदर। आपने इसको सिंपली यूज़ कर
- 4:49:12लिया। आप आप अब आप आगे बढ़ गए। आपको टेंशन
- 4:49:15नहीं है सॉर्ट कैसे इंप्लीमेंटेड है। ठीक
- 4:49:17है? इससे फायदा क्या होता है? इससे फायदा
- 4:49:19होता है वी कुड यूज़ द सेम प्रोग्राम
- 4:49:20विदाउट नोइंग इट्स इनसाइड वर्किंग। अब
- 4:49:23आपको नहीं पता कि सॉर्ट क्या करता है। आप
- 4:49:25सॉर्ट को अपने कोड के अंदर बहुत जगह यूज़
- 4:49:27कर सकते हो। बहुत जगह किसी और फंक्शन के
- 4:49:29अंदर आप सॉर्ट को यूज़ कर सकते हो। है ना?
- 4:49:32कोई फंक्शन आपने इंप्लीमेंट करा है सपोज़।
- 4:49:36ठीक है? इसके अंदर आप सॉर्ट को यूज़ कर
- 4:49:38सकते हो। है ना? हर जगह आप यूज़ कर सकते हो
- 4:49:40सॉर्ट को। आपको नहीं जानना सॉर्ट क्या
- 4:49:42कैसे इंप्लीमेंटेड है। है ना? इससे क्या
- 4:49:44हो रहा है? कोड की रिविज़िबिलिटी बढ़ रही
- 4:49:45है। आपका कोड अच्छा दिख रहा है। आपको
- 4:49:47बार-बार सॉर्ट की बड़ी इंप्लीमेंटेशन डालने
- 4:49:49की जरूरत नहीं पड़ रही। है ना? बहुत ही
- 4:49:50बढ़िया। ये एग्जांपल यहां पे लिखा है सॉर्ट
- 4:49:52फॉर एग्जांपल यूज्ड टू सॉर्ट एन एरे लिस्ट
- 4:49:54कलेक्शन हर चीज को सॉर्ट करने का काम होता
- 4:49:57है। आप इसके अंदर वेक्टर दे दो, एरे दे
- 4:50:00दो। ठीक है? लिस्ट दे दो, कुछ भी दे दो।
- 4:50:03ये सॉर्ट कर देता है। ठीक है? बट लिस्ट का
- 4:50:06सॉर्टिंग का तरीका अलग लिखा होगा अंदर।
- 4:50:08ठीक है? एरे का सॉर्टिंग का तरीका अलग
- 4:50:10लिखा होगा। वेक्टर का सॉर्टिंग का तरीका
- 4:50:11अलग होगा। कररेक्टर का सॉर्टिंग का तरीका
- 4:50:13अलग होगा। स्ट्रिंग का सॉर्टिंग का तरीका
- 4:50:15अलग लिखा होगा। बट आप टेंशन नहीं लेते। आप
- 4:50:18इसको सिंपली अगर आप यहां पर एक स्ट्रिंग
- 4:50:20डिक्लेअ कर दूं मैं स्ट्रिंग s
- 4:50:23=
- 4:50:26कोड हेल्प ठीक है तो मुझे क्या करना है
- 4:50:28सिंपल s डॉट बिगेन देना है और s डॉट एंड
- 4:50:32देना है आपका काम हो गया
- 4:50:35ठीक है आपका काम हो गया इसका मतलब सेम
- 4:50:38लाइन ऑफ कोड सेम लाइन ऑफ कोड सेम लाइन ऑफ
- 4:50:40कोड आपने वेक्टर के लिए भी यूज़ किया सेम
- 4:50:42लाइन ऑफ़ कोड आपने स्ट्रिंग के लिए भी यूज़
- 4:50:43किया आपने सेम कोड रखा आपका इंटरफ़ेस सेम
- 4:50:47है आपका का सॉर्टिंग की जो एल्गोरिदम्स है
- 4:50:51उससे इंटरेक्ट करने का इंटरफेस सेम है।
- 4:50:54ठीक है? यानी कि ऐसा कुछ होगा आपका ये
- 4:50:57इंटरफ़ेस है। इसको बोल रहा हूं इंटर फेस।
- 4:51:00इंटरफ़ेस होता है दो वर्ल्ड डिफरेंट वर्ल्ड
- 4:51:03के बीच में इंटरेक्ट करने का तरीका। यहां
- 4:51:05पे बहुत सारी सॉर्टिंग एल्गोरिदम है।
- 4:51:06सॉर्टिंग एरे के लिए। ठीक है? सॉर्टिंग
- 4:51:10आपकी वेक्टर के लिए। ठीक है? सॉर्टिंग
- 4:51:13आपकी स्ट्रिंग के लिए। ठीक है? सॉर्टिंग
- 4:51:17आपकी लिस्ट के लिए बट आपको कौन सा मेथड
- 4:51:21एक्सपोज्ड है बस आपको मेथड एक्सपोज है बस
- 4:51:24सॉर्ट
- 4:51:25आपको सॉर्ट नाम का मेथड एक्सपोज्ड है आप
- 4:51:28जो कोड लिख रहे हो यहां पे आप जो कोड लिख
- 4:51:30रहे हो यहां पे आप यहां पे लिख रहे हो
- 4:51:32सॉर्ट अब भाई स्ट्रिंग का सॉर्ट दे दो
- 4:51:34सॉर्ट भाई तू वेक्टर का सॉर्ट दे दो सॉर्ट
- 4:51:37अब भाई लिस्ट का सॉर्ट दे दो तो आप सारे
- 4:51:40सॉर्ट का तरीका यूज़ कर रहे हो आप सारे
- 4:51:42टाइप के डेटा स्ट्रक्चर्स को सॉर्ट करने
- 4:51:44की कोशिश कर रहे हो यूजिंग ओनली दिस सॉर्ट
- 4:51:46मेथ मेथड यूजिंग ओनली दिस सॉर्ट मेथड। आप
- 4:51:50डायरेक्टली तो सॉर्ट एरे को कॉल नहीं कर
- 4:51:52रहे। ना आप डायरेक्टली सॉर्ट वेक्टर को
- 4:51:54कॉल कर रहे। ना आप डायरेक्टली स्ट्रोक
- 4:51:55सॉर्ट स्ट्रिंग को कॉल कर रहे। आप एक
- 4:51:57सॉर्ट को कॉल कर रहे हो जो कि आपके हेडर
- 4:52:01फाइल जिसने भी लिखी है उसने एक इंटरफ़ेस के
- 4:52:04तौर पर आपको यह एक्सपोज़ किया हुआ है और आप
- 4:52:07इसको यूज़ करते हो और अपना सॉर्ट का काम
- 4:52:10चलाते हो। आपको नहीं फर्क पड़ता अंदर
- 4:52:12सॉर्ट एरे कैसे लिखा है? असोर्ट वेक्टर
- 4:52:14कैसे लिखा है। इसको ही सिंपल हम
- 4:52:16एब्स्ट्रैक्शन बोलते हैं। तो दिस इज़
- 4:52:19एब्स्ट्रैक्शन यूजिंग या एब्स्ट्रैक्शन इन
- 4:52:22हेडर फाइल्स। C++ हेडर फाइल किस तरीके से
- 4:52:24एब्स्ट्रैक्शन प्रोवाइड करती हैं। ठीक है?
- 4:52:26ये हमें समझ आ गया। आपको एक इंटरफ़ेस दिया
- 4:52:29गया है। वो इंटरफ़ेस क्या है? आपके
- 4:52:30एल्गोरिदम जो है टू एल्गोरिदम जिसने भी
- 4:52:33लिखी होगी उसमें सॉर्ट नाम का एक मेथड
- 4:52:36आपको दिया हुआ है। एक फंक्शन आपको दिया
- 4:52:37हुआ है। आप उसी फंक्शन को यूज़ करते हो।
- 4:52:39सेम कोड लिखते हो और हर टाइप के डेटा
- 4:52:42स्ट्रक्चर्स को जो भी सपोर्टेड है उन सबको
- 4:52:44सॉर्ट करा लेते हो। आप नहीं सोचते कि यार
- 4:52:46सॉर्ट एरे कैसे लिखा होगा या बबल सॉर्ट
- 4:52:49यूज़ हो रहा है या कोई और सॉर्ट यूज़ हो रहा
- 4:52:51है। आप इन सबका कोई टेंशन नहीं लेते। तो
- 4:52:53इसी को कहते हैं एब्स्ट्रैक्शन। आपके
- 4:52:55इंप्लीमेंटेशन डिटेल हाइड है। वो हाइड कर
- 4:52:57रखी है। जो इंटरफ़ेस है वो एक कॉमन इंटरफ़ेस
- 4:53:00दिया हुआ है। वो कॉमन इंटरफ़ेस के थ्रू आप
- 4:53:02इंटरेक्ट कर रहे हो। वो कॉमन इंटरफ़ेस यहां
- 4:53:04पर क्या है? सॉर्ट है। आप इससे इंटरेक्ट
- 4:53:06कर रहे हो। आप इसे स्ट्रिंग भी सॉर्ट करा
- 4:53:07रहे हो। हर टाइप के वेरिएबल सॉर्ट करा रहे
- 4:53:09हो। तो दिस इज़ कॉल्ड एब्स्ट्रैक्शन। तो जो
- 4:53:11यह वाली टर्म लिखी थी, इट इज़ अ डिज़ाइन एंड
- 4:53:13प्रोग्रामिंग मेथड दैट सेपरेट द इंटरफ़ेस
- 4:53:15फ्रॉम द इंप्लीमेंटेशन।
- 4:53:18इंटरफ़ेस को इंप्लीमेंटेशन से अलग किया हुआ
- 4:53:21है। हमारे पास क्या है? यहां पे सॉर्ट था।
- 4:53:23यहां पे बहुत सारे सॉर्टिंग लिखे हुए थे।
- 4:53:25अलग-अलग टाइप के। आपका इंटरफ़ेस है। अब
- 4:53:27इंटरफ़ेस एक है। इंटरफ़ेस एक है। और यही
- 4:53:30इंटरफ़ेस जो है हर टाइप के इसको कॉल कर रहा
- 4:53:32होता है। ठीक है? तो, इसको कहते हैं आप
- 4:53:35सिंपली एब्स्ट्रैक्शन। आगे बढ़ते हैं।
- 4:53:37एब्स्ट्रैक्शन यूजिंग क्लासेस। अब क्लासेस
- 4:53:39की मदद से कैसे एब्स्ट्रैक्शन होती है? ये
- 4:53:42हम बचपन से करते हैं। जब से आपने क्लास
- 4:53:43सीखी है। क्लास में क्या होता है?
- 4:53:45ग्रुपिंग डेटा मेंबर्स एंड मेंबर फंक्शन
- 4:53:47इंटू क्लास यूजिंग एक्सेस स्पेसिफायर। अब
- 4:53:50आप एक्सेस स्पेसिफायर्स का अगर यूज़ कर रहे
- 4:53:52हो तो उससे आप मेथड्स को और डेटा मेंबर्स
- 4:53:55को आप हाइड कर पाते हो। ठीक है? इसमें
- 4:53:58क्या हो रहा है? ए क्लास कैन चूज़ व्हाट
- 4:54:00डेटा मेंबर आर विज़िबल टू द आउटसाइड वर्ल्ड
- 4:54:02एंड व्हिच आर नॉट। ठीक है? ये सिंपली हम
- 4:54:04करते हैं। आप कुछ मेंबर्स को प्राइवेट
- 4:54:06बनाते हो, कुछ मेंबर्स को पब्लिक बनाते
- 4:54:08हो। ठीक है? अब देखते हैं ये बहुत अच्छा
- 4:54:10एग्जांपल है यहां पे। है ना? इंटरनेट से
- 4:54:12निकाला है मैंने। एग्जांपल की आपने क्लास
- 4:54:14बनाई हुई है। एब्स्ट्रैक्शन एग्जांपल
- 4:54:16इसमें एक नम है और सीए है। और इन दोनों को
- 4:54:18हमने प्राइवेट बनाया हुआ है। ध्यान से
- 4:54:19देखो। और हमने एक पब्लिक मेथड दिया हुआ
- 4:54:22है। सेट माय वैल्यूज़। वो क्या करता है? एक
- 4:54:24एन लेता है और एक C लेता है। और N और C को
- 4:54:27यूज़ करके नम और CH को इनिशियलाइज़ कर देता
- 4:54:30है। ठीक है? और उसके बाद आप गेट माय
- 4:54:32वैल्यू करते हो। गेट माय वैल्यू में नम और
- 4:54:34सीए को यूज़ करते हो। अब आप जब कोड लिखोगे
- 4:54:39आप जब कोड लिखोगे एब्स्ट्रैक्शन
- 4:54:42एग्जांपल का एक आपने अ इंस्टेंस बनाया
- 4:54:46ओबीj
- 4:54:48अब आप क्या ओबीj डॉट नम को एक्सेस कर
- 4:54:52पाओगे? इक्वल टू 5 सेट कर पाओगे। यह आप
- 4:54:56नहीं कर पाओगे। क्यों नहीं कर पाओगे?
- 4:54:58क्योंकि यह तो प्राइवेट है। ठीक है? इसका
- 4:55:00मतलब बाय मेकिंग दीज़ डेटा मेंबर्स
- 4:55:03प्राइवेट वी हैव हिडन देम फ्रॉम द आउटसाइड
- 4:55:05वर्ल्ड। हमने हाइड किया हुआ है। हमने हाइड
- 4:55:09किया हुआ है। आपको नहीं पता कि नम क्या
- 4:55:10है? आप डायरेक्ट एक्सेस नहीं कर सकते। तो
- 4:55:12हम क्या कर सकते हैं? आपने एक स्पेसिफिक
- 4:55:15तरीका दिया हुआ है इंटैक्ट करने का। वो
- 4:55:17इंटैक्ट करने का स्पेसिफिक तरीका क्या है?
- 4:55:18आप oबीj डॉट सेट माय वैल्यूज़ कॉल कर सकते
- 4:55:21हो।
- 4:55:23ठीक है? उसके अंदर आप 5 6 दे सकते हो। वो
- 4:55:27जाके इंटरनली जो है इंटरनली जो है सेट कर
- 4:55:30देगा। अब ध्यान से देखते हैं। सपोज़ करते
- 4:55:32हैं ये क्लास आपने किसी हेडर फाइल के अंदर
- 4:55:34डाली हुई थी।
- 4:55:37हेडर फाइल के अंदर डाली हुई थी। आप उस
- 4:55:39हेडर फाइल को यूज़ कर रहे हो। अब आप जब उस
- 4:55:41हेडर फाइल को यूज़ कर रहे हो तो आपको नहीं
- 4:55:43पता कि अंदर नम है, सीएच है, क्या है?
- 4:55:46आपको नहीं पता। आपको नहीं पता। आप क्या कर
- 4:55:49रहे हो? आप सिंपली इंटरेक्ट कर रहे हो सेट
- 4:55:51माय वैल्यूज़ से। और आप किससे गेट कर रहे
- 4:55:54होगे वैल्यूज़ को? गेट माय वैल्यू से आप
- 4:55:56डायरेक्टली नम और सीएच को एक्सेस कर ही
- 4:55:59नहीं सकते क्योंकि आप यह काम नहीं कर
- 4:56:00सकते। इसका मतलब क्या है? इसका मतलब यह है
- 4:56:04कि आपकी जो क्लास है जिसने भी वह बनाई है
- 4:56:07उसने कुछ डेटा मेंबर्स जो है वह हाइड करके
- 4:56:11रखे हुए हैं आपसे। आप उनको डायरेक्ट
- 4:56:12एक्सेस नहीं कर सकते। और इवन आपको एक्सेस
- 4:56:15करने का मतलब भी नहीं है। आप चाहते भी
- 4:56:16नहीं एक्सेस करना। आप कोई जरूरत भी नहीं
- 4:56:18है उसको एक्सेस करने की। वो नहीं चाहता है
- 4:56:20आप एक्सेस करो। ठीक है? तो इसलिए दीज़ डेटा
- 4:56:22मेंबर्स आर नॉट एक्सेसिबल आउटसाइड द
- 4:56:24क्लास। द ओनली वे टू सेट एंड गेट दीज़
- 4:56:26वैल्यू आर द पब्लिक फंक्शन। पब्लिक फंक्शन
- 4:56:28के थ्रू जो कि ये दिए हुए हैं इनसे आप सेट
- 4:56:30और गेट कर सकते हो। तो दिस इज़ कॉल्ड
- 4:56:32एब्स्ट्रैक्शन यूजिंग क्लासेस। आप क्लासेस
- 4:56:34का यूज़ करके हाइड कर रहे हो अपनी
- 4:56:35इंप्लीमेंटेशन को। है ना? क्या अंदर लिखा
- 4:56:37हुआ है आपने सब हाइड कर दिया। ठीक है? तो
- 4:56:39ये था आपका एब्स्ट्रैक्शन यूजिंग क्लासेस।
- 4:56:41ये हमें समझ आ गया। आगे बढ़ते हैं। अब एक
- 4:56:43और बहुत इंपॉर्टेंट कांसेप्ट है वो है
- 4:56:45एब्स्ट्रैक्ट क्लास। ठीक है? एब्स्ट्रैक्ट
- 4:56:48क्लास। ये बहुत ज्यादा इंपॉर्टेंट
- 4:56:51आपका
- 4:56:53कांसेप्ट है। ठीक है? ये क्या है? क्लास
- 4:56:55दैट कंटेन एटलीस्ट वन प्योर वर्चुअल
- 4:56:57फंक्शन एंड दीज़ क्लासेस कैन नॉट बी
- 4:56:59इंस्टेंशिएटेड। उसको इंस्टिएट नहीं कर
- 4:57:01सकते। इट हैज़ कम फ्रॉम द आईडिया ऑफ़
- 4:57:04एब्स्ट्रैक्शन। ठीक है? क्या है? कैसे है?
- 4:57:05सीधा एक बार जंप करते हैं एग्जांपल पे।
- 4:57:07उसी से समझते हैं। ठीक है? यहां पे एक
- 4:57:09फोल्डर बनाते हैं। पहले फोल्डर बनाते हैं।
- 4:57:12एप्स
- 4:57:14ट्रैक्ट डिज़ नाम से।
- 4:57:20यहां पे हम एक हेडर फाइल लिखते हैं। BD.H
- 4:57:22करके।
- 4:57:24ठीक है? बर्ड डॉट एच लिखी हमने। हेडर फाइल
- 4:57:26कैसे इनिशियल करते हैं? इफ एंड एफ माइक्रो
- 4:57:29लिखेंगे बर्ड अंडर h।
- 4:57:32ठीक है? इफ नॉट डिफाइन क्यों यूज़ होता है?
- 4:57:35ये इसलिए यूज़ होता है कि जब भी आप जब भी
- 4:57:38आप अगर बर्ड डॉट को बार-बार भी इंक्लूड
- 4:57:42करोगे तो भी यह एक ही बार इंक्लूड होगा।
- 4:57:43तो भी यह एक ही बार इंक्लूड होगा। यहां पे
- 4:57:45एक बना बनाते हैं हम क्लास। क्लास है बर्ड
- 4:57:48नाम की। ठीक है? बर्ड नाम की क्लास है।
- 4:57:50उसमें पब्लिक मेथड है कुछ। पब्लिक मेथड
- 4:57:53क्या है? एक वर्चुअल फंक्शन है जो कि है
- 4:57:57बर्ड क्या करती है? ईट करती है। और इसको
- 4:58:00हमने जीरो सेट कर दिया। ये अब दिस इज
- 4:58:02कॉल्ड प्योर वर्चुअल फंक्शन। प्योर
- 4:58:05वर्चुअल फंक्शन। यहां पे जो टर्म है ना
- 4:58:07प्योर वर्चुअल फंक्शन वो क्या करती है? आप
- 4:58:10जब कोई भी एक प्योर वर्चुअल फंक्शन किसी
- 4:58:12एक क्लास के अंदर डिक्लेअ कर दोगे तो वह
- 4:58:14क्लास वो क्लास एक इंटरफेस बन जाती है।
- 4:58:20इंटरफेस का मतलब इस क्लास को आप एक
- 4:58:23इंटरफेस की तरह यूज़ करोगे। आउटसाइड वर्ल्ड
- 4:58:25के लिए एक इंटरफेस की तरह यूज़ करोगे। कैसे
- 4:58:27वो देखते हैं एक बार। आपने बोला वर्चुअल
- 4:58:31वॉइड
- 4:58:33आपकी बर्ड फ्लाई भी कर सकती है। इसको भी
- 4:58:35हमने इंटरफेस बना दिया। अब इंटरफेस बनाने
- 4:58:38का मतलब है
- 4:58:41कि आपने यह जो बर्ड है यह जो बर्ड है, खुद
- 4:58:44से कोई कुछ भी इसका वजूद नहीं है। ठीक है?
- 4:58:47क्योंकि बर्ड बहुत टाइप्स की होती हैं।
- 4:58:48स्परो एक बर्ड है। ठीक है? ऐसे पिजन एक
- 4:58:51बर्ड है। बर्ड है। आपने बोला ये एक बर्ड
- 4:58:53है। ये एक इंटरफेस है। अब आप की जो बर्ड्स
- 4:58:57होंगी, बाकी बर्ड्स की जो क्लासेस होंगी,
- 4:59:00जैसे स्पेसिफिक बर्ड होंगी, जैसे स्परो
- 4:59:02है, ईगल है, वह सारी ना इसको इंप्लीमेंट
- 4:59:04करेंगी। यानी कि इसको यूज़ करेंगी। इसको
- 4:59:07इन्हहेरिट करेंगे और इन्हहेरिट करके जब भी
- 4:59:09जो भी क्लास इनहेरिट करेगी उनको यह दो
- 4:59:11फंक्शन ईट और फ्लाई यह जरूर से जरूर
- 4:59:14इंप्लीमेंट करने पड़ेंगे तभी वो एक वर्ड
- 4:59:15कहलाएगी नहीं तो नहीं कहलाएगी तो हम
- 4:59:17बोलेंगे क्लासेस
- 4:59:21दैट इनहेरिट्स
- 4:59:24दिस क्लास
- 4:59:29हैस टू इंप्लीमेंट
- 4:59:33प्योर वर्चुअल फंक्शनंस
- 4:59:38इनको इंप्लीमेंट करना ही पड़ेगा। ठीक है?
- 4:59:40आपने एक बर्ड बनाई स्परो सपोज।
- 4:59:45ठीक है? आप इसके पब्लिक मेथड्स को
- 4:59:46इन्हहेरिट करोगे बर्ड के इन्हहेरिट करे।
- 4:59:49अब आपको यहां पर यह दो फंक्शन इंप्लीमेंट
- 4:59:53करने ही पड़ेंगे। आपको एक ईट लिखना
- 4:59:54पड़ेगा। अब स्परो अलग तरीके से ईट करती
- 4:59:57होगी। तो, हमने लिख दिया स्पेरो इज़ ईटिंग।
- 5:00:02स्परो इज़ ईटिंग।
- 5:00:04ठीक है। अब
- 5:00:12अब आपकी स्परो अलग तरीके से सप्लाई करती
- 5:00:15होगी। ठीक है? तो आपने लिख दिया
- 5:00:23स्परो इज़
- 5:00:25फ्लाइंग।
- 5:00:28ठीक है?
- 5:00:30अब ये सी आउट पे क्यों हो रहा है? क्योंकि
- 5:00:32हमें यहां पे इंक्लूड करना पड़ेगा। हैश
- 5:00:34इंक्लूड आईओ स्ट्रीम।
- 5:00:39ठीक है? अब सपोज़ करते हैं आपने बर्ड बनाई।
- 5:00:42ठीक है? आपने बर्ड बनाई। ऐसे ही आपने
- 5:00:45स्परो बना ली। उसको इनहेरिट करके।
- 5:00:48अब आप बना सकते हो
- 5:00:51हम ईगल बना लेते हैं।
- 5:00:54ईगल बनाया। अब ईगल अलग तरीके से करेगा तो
- 5:00:56ईगल इज़ ईटिंग।
- 5:01:00ठीक है? ईगल अलग तरीके से फ्लाई करेगा। तो
- 5:01:02ईगल इज फ्लाइंग। ठीक है? यह सब आपने लिख
- 5:01:04दिया। बहुत ही बढ़िया। अब
- 5:01:08अब देखते हैं क्या होगा।
- 5:01:11अब आपने क्या करा? अब आपने सिंपली एक अपना
- 5:01:14खुद का एक फाइल बनाई। अपनी खुद की एक फाइल
- 5:01:17बनाई।
- 5:01:19फाइल बनाते हैं हम main डॉट cp।
- 5:01:23इसके अंदर आपने सिंपल वही हैश इंक्लूड जो
- 5:01:25आप करते हो। इसको फटाफट से कर लेते हैं।
- 5:01:27ठीक है? अब सपोज़ करते हैं ये बर्ड डॉटH ना
- 5:01:30BH आपको किसी ने इंप्लीमेंट करके दी है।
- 5:01:33ठीक है? आपको नहीं पता इसके अंदर की
- 5:01:35इंप्लीमेंटेशन आपको नहीं पता। अब हम
- 5:01:37अस्यूम करेंगे और अब आप मेन डॉ.cp में
- 5:01:39हैं। आप क्लाइंट हो। अब आप क्लाइंट हो। इस
- 5:01:42ठीक है? इसको आप
- 5:01:45वेंडर क्लाइंट मॉडल भी होते हो। ये आपका
- 5:01:47वेंडर है जिसने आपको बर्ड डॉट एच क्लास दी
- 5:01:49है। बर्ड डॉट एच क्लास क्या करती है? वो
- 5:01:51बहुत सारी बर्ड्स के डिफरेंट-डिफरेंट
- 5:01:53मूव्स को ईंट और फ्लाई सबको बताती है।
- 5:01:55कैसे कर रहे हैं वो। ठीक है? सबके अलग-अलग
- 5:01:57इंप्लीमेंटेशन है। यहां पर स्परो ईट करती
- 5:01:59है। यहां पर ईगल ईट करता है। आप वेंडर हो।
- 5:02:02आपको नहीं पता बर्ड. कैसे लिखी हुई है।
- 5:02:04आपने आप गए यहां पे आपने#श इंक्लूड किया
- 5:02:09b.h ठीक है? इंक्लूड कर लिया। अब इंक्लूड
- 5:02:13करने के बाद आपका मन था। आपका मन था। आपने
- 5:02:16एक फंक्शन लिखा है जिसके अंदर लिखा है कि
- 5:02:18भाई बर्ड है। बर्ड
- 5:02:2310
- 5:02:25समथिंग।
- 5:02:27यह आपने लिखा। ठीक है? और यह क्या करता
- 5:02:30है? यह एक बर्ड नाम का वेरिएबल लेता है।
- 5:02:36और हम कॉल कर देते हैं कि भाई बर्ड जो है
- 5:02:41बर्ड जो है वह क्या कर रही है? ईट कर रही
- 5:02:43है।
- 5:02:46ठीक है? फिर आपने बोला कि बर्ड क्या कर
- 5:02:49रही है?
- 5:02:52बर्ड जो है फ्लाई कर रही है।
- 5:02:55ठीक है? फिर आपने बोला बर्ड फ्लाई कर रही
- 5:02:58है। अब बर्ड जो है दोबारा से ईट करने लगी।
- 5:03:01तो ऐसे आपने कुछ कुछ लिखा हुआ है अपने कोड
- 5:03:04के अंदर। ठीक है? अब आप क्या करोगे यहां
- 5:03:06पे?
- 5:03:07आप क्या करोगे? आप सिंपली ऐसे लिखोगे बर्ड
- 5:03:12स्टार बर्ड
- 5:03:16= न्यू।
- 5:03:19आप क्या करोगे? पिजन पजन नहीं स्परो बनाई
- 5:03:22थी ना हमने स्परो।
- 5:03:25आपने नई स्परो बनाई पर आप बर्ड समथिंग को
- 5:03:28क्या करोगे? यह बर्ड पास कर दोगे। ठीक है?
- 5:03:31और अब इसको एक बार चला के देखें क्या होता
- 5:03:33है।
- 5:03:36इसके अंदर गए हमने G++ मेन डॉट CP करा डॉट
- 5:03:41स्लश a डॉ. आउट चलाया। अब देखते हैं ध्यान
- 5:03:43से हुआ क्या है। अब आपको तो नहीं पता कि ई
- 5:03:47बर्ड ईंट कर रही है या बर्ड क्या कैसे
- 5:03:49करती है। स्परो कैसे ईंट करती है। स्परो
- 5:03:51कैसे फ्लाई करती है? स्परो कैसे ईट करती
- 5:03:53है दोबारा से है ना ये सब आपको नहीं पता
- 5:03:56आप इंप्लीमेंट करना चाह रहे हो इस इस
- 5:03:57फंक्शन को आपने फंक्शन लिखा हुआ आपने बहुत
- 5:03:59जगह ऐसे ये सपोज करते हैं अभी तो ये तीन
- 5:04:02तीन लाइन लिखी हुई है सपोज ये बहुत सारी
- 5:04:03लाइंस ऐसे लिखी हुई है ठीक है तो आपको हर
- 5:04:06बार जाके बर्ड स्परो के कॉस्पोंडिंग ईट
- 5:04:10फ्लाई इसको कॉल नहीं करना पड़ रहा आप बर्ड
- 5:04:12के कॉस्पोंडिंग फ्लाई को कॉल कर रहे हो
- 5:04:13बर्ड के कॉस्पोंडिंग आप ईट को कॉल कर रहे
- 5:04:15हो और यह स्परो का बर्ड ईटिंग और फ्लाइंग
- 5:04:18कॉल हो रहा है स्परो के स्पेसिफिक
- 5:04:20इंप्लीमेंटेशन कॉल हो रही है और और आपको
- 5:04:22नहीं पता इंप्लीमेंटेशन क्या है। ठीक है?
- 5:04:24अब अब ये देखते हैं। हम ऐसे भी कर सकते थे
- 5:04:28कि इन सब मेथड्स को हम प्राइवेट बना के
- 5:04:30देखें। स्पेरो को प्राइवेट बना के देखें।
- 5:04:33बना दिया हमने स्पेरो को प्राइवेट। अब
- 5:04:36क्लियर करेंगे
- 5:04:38डॉट स्लैट
- 5:04:40डॉट आउट। अब भी आपका यह कॉलर है। अब ध्यान
- 5:04:43से देखो। हमने क्या करा? स्परो और ईगल के
- 5:04:47इंप्लीमेंटेशन को बना दिया प्राइवेट। ठीक
- 5:04:49है? अब आप यहां बैठ के यहां बैठ के अगर
- 5:04:54स्परो बनाओगे स्परो स्टार sp
- 5:04:59= न्यू स्परो कर सकते हैं हम
- 5:05:03तो एसपी
- 5:05:06का कुछ भी ईट जो है
- 5:05:11वो कॉल नहीं कर पाओगे
- 5:05:14नहीं कर पाओगे क्यों क्योंकि कह रहा है यह
- 5:05:15इनसेसिबल है भाई साहब यह इनसेसिबल है नहीं
- 5:05:18कर सकते आप कॉल इसका इसका मतलब आपने बोला
- 5:05:20कि भाई मेरा इंटरफेस है बर्ड नाम का। बर्ड
- 5:05:23नाम के इंटरफेस से ही आप कुछ कॉल कर
- 5:05:26पाओगे। आप स्पेसिफिक किसी भी ऑब्जेक्ट को
- 5:05:29बना के आप उसको कॉल नहीं कर सकते। आपको
- 5:05:31बर्ड से ही कॉल करना पड़ेगा। जैसे हम वहां
- 5:05:33सिर्फ सॉर्ट से कॉल कर रहे थे। सिर्फ
- 5:05:34सॉर्ट को सॉर्ट से कॉल कर रहे थे। हम यहां
- 5:05:37हमने यहां बोला कि सब बर्ड से ही कॉल कर
- 5:05:38सकते हो आप। अब इससे फायदा क्या हो रहा
- 5:05:40है? इससे सबसे बड़ा फायदा आप बताते हैं।
- 5:05:43अब सपोज़ करो आपने यह कोड इंप्लीमेंट करा।
- 5:05:45इंप्लीमेंट करने के बाद आपने इसको शिफ्ट
- 5:05:46कर दिया। सपोज़ करते हैं आपको बहुत बड़ा
- 5:05:48प्रोजेक्ट था यह। आपने इसको शिप कर दिया,
- 5:05:49दे दिया। दुनिया में चल रहा है बहुत
- 5:05:51बढ़िया। ठीक है? अब कोई आके आपको बोलता है
- 5:05:54कि यार सुनो ये बर्ड जो स्परो नहीं स्परो
- 5:05:59नहीं अब स्परो पसंद नहीं है हमें। अब हमें
- 5:06:00ना ईगल से काम कराना है ईगल से। अब ध्यान
- 5:06:03से देखो। अगर ये इंप्लीमेंटेशन नहीं होती।
- 5:06:05बर्ड इंटरफेस के थ्रू इंप्लीमेंटेशन नहीं
- 5:06:07होती। तो क्या होता? तो क्या होता? आप जा
- 5:06:12के यहां पे बर्ड की जगह स्परो आप यहां
- 5:06:14क्या कर रहे होते? बर्ड की जगह आप यहां पर
- 5:06:17स्परो लिखा था। फिर आप क्या कहते हैं?
- 5:06:18पिजन तो पिजन नहीं ईगल बोला। तो यहां पे
- 5:06:21ईगल ईगल का ईट कॉल कर रहे होते हैं। ईगल
- 5:06:23यानी कि कितने ज्यादा कोड चेंजज़ करने पड़ते
- 5:06:25हैं। आप हर हर लाइन पे कोड चेंज करते। अब
- 5:06:27ये तो फिर भी आपकी कम लाइंस है। अगर
- 5:06:29मिलियंस ऑफ़ लाइन ऑफ़ कोड है तो हर जगह बर्ड
- 5:06:31डॉट ईट हर हर जगह बर्ड डॉ. हटा के आपको
- 5:06:34पहले मान लो स्परो. होता तो स्परो. डॉट
- 5:06:36हटा के अब आपको पिजन या फिर ईगल. या फिर
- 5:06:39कोई और बर्ड है तो वो डॉट और इस ऐसे-ऐसे
- 5:06:42कर करके कर करके आपको कॉल करना पड़ता। अब
- 5:06:45आपका क्योंकि इंटरफ़ेस बर्ड ही है। तो आपको
- 5:06:47क्या करना है? सिंपली आपको इस लाइन को
- 5:06:50उठाकर आप ईगल कर दोगे अगर तो आपकी
- 5:06:54इंप्लीमेंटेशन हो गई चेंज। अब इसको कंपाइल
- 5:06:57करें हम।
- 5:07:01अब ईगल कॉल हो रहा है। अब ईगल खा रहा है।
- 5:07:04ईगल उड़ रहा है। ईगल फिर से खा रहा है।
- 5:07:06ईगल फिर से खा रहा है। ईगल उड़ रहा है। है
- 5:07:07ना? तो इस समय फायदा क्या हुआ? मैंने
- 5:07:09सिर्फ एक लाइन ऑफ कोड का चेंज किया। है
- 5:07:12ना? और मेरे कोड सारा चेंज हो गया। कोड की
- 5:07:15सारी फंक्शनैलिटी चेंज हो गई। ठीक है? तो
- 5:07:17दिस इज़ कॉल्ड एब्स्ट्रैक्शन। ठीक है? इससे
- 5:07:20आपने इस एब्स्ट्रैक्शन को यूज़ करके आपने
- 5:07:22अपना काम ईजी करा। काम इज़ कैसे करा? आपने
- 5:07:25सिर्फ एक लाइन ऑफ़ कोड को चेंज करा और हर
- 5:07:27जगह आपका चेंजज़ हो गए। और अगर आप ऐसा नहीं
- 5:07:30कर रहे होते, आप पुराने इंप्लीमेंटेशन की
- 5:07:31तरह चल रहे होते यानी इंटरफ़ेस के थ्रू
- 5:07:33नहीं जा रहे होते, तो आप क्या करते? यहां
- 5:07:35पे आप स्परो बना रहे होते। है ना? पहले
- 5:07:37स्परो बना होता। और हर जगह स्परो डॉटेड
- 5:07:40स्परो डॉट फ्लाई स्टार स्परो स्परो स्परो
- 5:07:43लिखा होता। फिर जब ईगल की बारी आती तो आप
- 5:07:45ईगल ईगल ईगल ईगल हर जगह चेंज करते तो
- 5:07:46कितने लाइन ऑफ कोड को चेंज करना पड़ता। तो
- 5:07:48यानी कि आपने मेंटेनेंस बढ़ा दी। ठीक है?
- 5:07:50अब इससे क्या हो गया? आपकी मेंटेनेंस ईजी
- 5:07:52हो गई। आपको एक जगह चेंज करना है वो काम
- 5:07:54हो गया। और जो वेंडर है जिसने ये एपीआई
- 5:07:57बनाई है सपोज करते हैं ये जिसने बनाया है।
- 5:07:59अब सपोज़ करते हैं वो वेंडर बोल रहा है कि
- 5:08:01दुनिया में एक और बर्ड आ गई है। ईगल की
- 5:08:03जगह एक और बर्ड आ गई है। पिजन आ गया है।
- 5:08:07तो वो क्या करेगा? सिंपली इस क्लास को
- 5:08:08कॉपी करेगा और वह बोलेगा कि भाई अब पिजन
- 5:08:11इंप्लीमेंट कर दो। पीजन इंप्लीमेंट कर दो।
- 5:08:13पीजन इंप्लीमेंट कर दो। और यहां पर यहां
- 5:08:15पर पजन के कॉस्पोंडिंग आपकी ईटिंग हैबिट
- 5:08:18डाल दो। यहां पर इसके कॉस्पोंडिंग ईटिंग
- 5:08:20डाल दो। पीजन कैसे ईट करता है? पिजन कैसे
- 5:08:22फ्लाई करता है वो सब अलग-अलग होगा। तो
- 5:08:24आपने इसको इंप्लीमेंट कर दिया। तो ध्यान
- 5:08:26से देखो। एक वेंडर के लिए जो कोड लिख रहा
- 5:08:28है जो ये डॉट एस फाइल बना रहा है।
- 5:08:30इंप्लीमेंटेशन आपको दे रहा है। उसके लिए
- 5:08:32भी ये इजी हो गया। कोई नई इंप्लीमेंटेशन
- 5:08:33आई तो उसने उसी क्लास को कॉपी करा। उसी
- 5:08:35इंटरफ़ेस को यूज़ किया। इंटरफ़ेस को यूज़ करने
- 5:08:37के बाद आपने अपना कोड लिख दिया। तो कितना
- 5:08:40क्लीन चल रहा है सब कुछ। आपने पिजन डाल
- 5:08:42दिया। अब सपोज़ करते हैं अब यहां पे आपको
- 5:08:44पिजन नहीं अब उस टाइम अपडेट करना था। बोला
- 5:08:46कि ईगल नहीं अब पिजन चाहिए हमें। तो आप
- 5:08:48क्या करोगे? यहां पे
- 5:08:53पिजन को डाल दोगे। पिजन डालोगे तो आपके
- 5:08:55पिजन ईट करेगा। पिजन फ्लाई करेगा
- 5:09:01और पिजन कर रहा है सब कुछ। ठीक है? तो दिस
- 5:09:03इज़ कॉल्ड एब्स्ट्रैक्शन। तो एब्स्ट्रैक्ट
- 5:09:04क्लास का यूज़ करके आप इंटरफ़ेस बना देते
- 5:09:07हो। और इंटरफ़ेस बनाने से क्या फायदा होता
- 5:09:09है? आपको उस इंटरफेस को कोड में एक बार
- 5:09:12लिखना होता है। आपने एक बार लिखा और उसके
- 5:09:14बाद आपको इंप्लीमेंटेशन चेंज करने की
- 5:09:16जरूरत ही नहीं होती। एक लाइन ऑफ कोड चेंज
- 5:09:17किया सब कुछ चेंज हो गया। ठीक है? तो इसी
- 5:09:19को एब्स्ट्रैक्शन कहते हैं। ठीक है? तो ये
- 5:09:22डिज़ाइन स्ट्रेटजी है। एब्स्ट्रैक्ट को
- 5:09:23एब्स्ट्रैक्शन को यूज़ करके क्या होती है?
- 5:09:25एब्स्ट्रक्शन एब्स्ट्रैक्शन डिवाइड्स कोड
- 5:09:27इंटू टू कैटेगरी। वन इज़ इंटरफ़ेस, वन इज़
- 5:09:30इंप्लीमेंटेशन। तो, यहां पे क्या है
- 5:09:32इंटरफ़ेस?
- 5:09:33यह आपका इंटरफ़ेस है। और यह सारी आपकी
- 5:09:36इंप्लीमेंटेशंस हैं। ठीक है? बहुत ही
- 5:09:38बढ़िया। और सो दैट व्हेन क्रिएटिंग योर
- 5:09:42कंपोनेंट कीपिंग द इंटरफेस सेपरेट फ्रॉम द
- 5:09:44इंप्लीमेंटेशन। अब इंटरफेस सेपरेट है।
- 5:09:47इंप्लीमेंटेशन सेपरेट है। इंप्लीमेंटेशन
- 5:09:49अलग है। इंप्लीमेंटेशन आप कभी भी चेंज कर
- 5:09:51सकते हो। पिजन के कॉस्पोंडिंग अब आप
- 5:09:52इंप्लीमेंटेशन चेंज करो। अब दूसरा काम
- 5:09:54होता है सपोज़ करते हैं। पिजन अभी किसी एक
- 5:09:57तरीके से खाता था। ठीक है? अब पिजन की
- 5:10:00इंप्लीमेंटेशन चेंज हो गई। आपने बोला पिजन
- 5:10:02जो है ना अब ईटिंग करता है फास्टर।
- 5:10:05ठीक है? ओपिजन जो है फ्लाई करता है
- 5:10:07फास्टर।
- 5:10:09तो मैंने अपने कोड के अंदर चेंज किया। अब
- 5:10:12आपको एज ए क्लाइंट जो जो इसको इस को यूज़
- 5:10:15कर रहा है उसको कुछ चेंज नहीं करना इसमें।
- 5:10:18उसको कुछ चेंज नहीं करना। उसको सिंपली कोड
- 5:10:20को रिकंपाइल करना है। और रिकंपाइल करके जब
- 5:10:23आप यूज़ करोगे
- 5:10:26तो आपका जो पिजन है वो फास्टर रीड करने
- 5:10:28लगा है। फास्टर फ्लाई करने लगा है। यानी
- 5:10:30अब ध्यान से देखो। इंटरफेस के थ्रू बर्ड
- 5:10:33इंटरफेस के थ्रू आपकी इंप्लीमेंटेशन
- 5:10:35सेपरेट है। इंप्लीमेंटेशन सेपरेट है। आपको
- 5:10:38पिजन के कॉस्पोंडिंग कुछ नहीं करना पड़ा।
- 5:10:40कोई कोड के अंदर चेंज नहीं करना पड़ा।
- 5:10:42आपने पिजन के अंदर जाके खुद ही चेंज कर
- 5:10:45दिया। आपके आपको कोड के अंदर कोई चेंज
- 5:10:47नहीं करना पड़ा। आपका पिजन अपने आप ही
- 5:10:49ईटिंग फास्टर हो गया। ईटिंग फ्लाइंग
- 5:10:50फास्टर हो गया। ठीक है? तो इसलिए कह रहे
- 5:10:52हैं व्हेन क्रिएटिंग अ कंपोनेंट कीपिंग द
- 5:10:54इंटरफ़ेस सेपरेट फ्रॉम द इंप्लीमेंटेशन। सो
- 5:10:56दैट द अंडरलाइंग इंप्लीमेंटेशन चेंजज़ द
- 5:10:58इंटरफ़ेस स्टेज़ द सेम। इंप्लीमेंटेशन चेंज
- 5:11:01हुआ। अभी पिजन फास्ट ईट करने लगा ना वो और
- 5:11:04फास्ट फ्लाई करने लगा। बट आपका इंटरफेस
- 5:11:06वही है। इंटरफेस अभी वही है। bd डॉट फ्लाई
- 5:11:09bd डॉट ईट। वही आपने कोड में लिखा है।
- 5:11:11आपको कोड को चेंज करने की भी जरूरत नहीं
- 5:11:13पड़ रही। ठीक है? तो इसी को कहते हैं हम
- 5:11:15एब्स्ट्रैक्ट के थ्रू डिज़ स्ट्रेटजी। ठीक
- 5:11:19है? उसके अंदर हम कोड को डिवाइड करते हैं
- 5:11:20इंटरफ़ेस में और आपके इंप्लीमेंटेशन में।
- 5:11:23तो, ऊप्स का यह बहुत बड़ा कांसेप्ट है। और
- 5:11:26इससे फायदा अभी हमने देख लिया। अगर कोई नई
- 5:11:28बर्ड आती है तो आप सिंपली इसी को उठा के
- 5:11:30दोबारा इंप्लीमेंट कर दोगे और यहां पे आप
- 5:11:32बोल दोगे पिजन नहीं अब कोई और बर्ड आ गई
- 5:11:34है। ठीक है? आपको कोड में कोई चेंज नहीं
- 5:11:36करना। आपको यहां पर कोई चेंज नहीं करना।
- 5:11:39ठीक है? इन दिस इंस्टेंस एनी प्रोग्राम
- 5:11:41दैट यूजज़ दीज़ इंटरफसेस वुड रिमेन
- 5:11:43अनइफेक्टेड एंड वुड रिक्वायर रिकंपाइलेशन
- 5:11:46विद मोस्ट ऑफ़ द रीसेंट चेंजेस। यानी कि
- 5:11:48अभी देखा ना हमने हमने जैसे ही चेंज किया
- 5:11:51पिजन के कॉस्पोंडिंग ईटिंग और फ्लाइंग की
- 5:11:54इंप्लीमेंटेशन को चेंज किया तो चेंज करते
- 5:11:56ही कुछ नहीं हुआ। चेंज करते ही वेंडर को
- 5:11:58यानी कि जो उस इंटरफ़ेस को यूज़ कर रहा है।
- 5:12:01हम यूज़ कर रहे हैं ना इस इंटरफ़ेस को वर्ड
- 5:12:02इंटरफ़ेस को हम यूज़ कर रहे हैं। जो उसको
- 5:12:04कुछ चेंज करने की जरूरत नहीं पड़ी। उसको
- 5:12:07कुछ भी इंप्लीमेंटेशन के अंदर यहां पे
- 5:12:09अपने कोड के अंदर कोई चेंज करने की जरूरत
- 5:12:10नहीं पड़ी। उसने सिंपली रिकंबाइल किया और
- 5:12:13आपका पिज़न फास्टर हो गया। ठीक है? तो ये
- 5:12:16है आपका डिजाइन स्ट्रेटजी यूजिंग
- 5:12:18एब्स्ट्रैक्शन। ठीक है? आई होप आपको चीजें
- 5:12:20समझ आई होंगी। एब्स्ट्रैक्शन काफी डीप कम
- 5:12:22कांसेप्ट है और बहुत ज्यादा यूज़ होने वाला
- 5:12:24बहुत इजी कांसेप्ट भी है। हर जगह
- 5:12:26एब्स्ट्रैक्शन लगी हुई है। ठीक है? अब
- 5:12:27सिंपली आप देखो आप WhatsApp यूज़ करते हो।
- 5:12:29आप WhatsApp यूज़ कर रहे हो। आप यूज़ करते
- 5:12:31रहते हो, करते रहते हो। अब WhatsApp का
- 5:12:34कोई अपडेट आया। अब WhatsApp जिस तरीके से
- 5:12:35इंप्लीमेंटेड होगा ना, अंदर इंटरफ़ेससेस
- 5:12:37यूज़ हो रहे होंगे। बहुत सारे। इंटरफ़ेससेस
- 5:12:39यूज़ हो रहे होंगे। आपका मैसेजिंग करने का
- 5:12:41इंटरफ़ेस होगा। ठीक है? आपका वॉइस
- 5:12:44रिकॉर्डिंग का एक इंटरफेस होगा। ठीक है?
- 5:12:46और जब भी वॉइस रिकॉर्डिंग या मैसेजिंग के
- 5:12:48कॉस्पोंडिंग कोई भी इंप्लीमेंटेशन चेंज
- 5:12:50हुआ, कोई भी अपडेट आया तो कोड के अंदर
- 5:12:52उनको ज्यादा चेंज करने की जरूरत नहीं पड़
- 5:12:54रही। आपके यूज में भी कुछ चेंज नहीं हुआ
- 5:12:56है। आप भी वैसे ही यूज़ कर रहे हो अभी भी।
- 5:12:58ठीक है? तो दिस इज़ कॉल्ड एब्स्ट्रैक्शन।
- 5:12:59बिगर बिगर पिक्चर एब्स्ट्रैक्शन की यही
- 5:13:01है। ठीक है? तो कोड करने में
- 5:13:02एब्स्ट्रैक्शन इस तरीके से आप बता सकते
- 5:13:04हो। तो ये बहुत अच्छा एग्जांपल है
- 5:13:05एब्स्ट्रैक्शन समझने का। और ध्यान से देखो
- 5:13:08जो ये बर्ड क्लास है ये एक इंटरफेस बन
- 5:13:10चुका है और आप बर्ड क्लास के कॉस्पोंडिंग
- 5:13:14अब ये भी देखो कितना अच्छा फीचर है। आप
- 5:13:16बर्ड क्लास के कॉस्पोंडिंग आप बर्ड को यूज़
- 5:13:19करके बर्ड स्टार सपोज B2
- 5:13:22P2 = न्यू बर्ड नहीं कर सकते क्रिएट। यानी
- 5:13:28कि आप आपने अगर कोई एब्स्ट्रैक्ट क्लास
- 5:13:30बना दी। एब्स्ट्रैक्ट क्लास को इंटरफेस
- 5:13:32बोलते हैं C++ के अंदर कि जावा के अंदर
- 5:13:34थोड़ी अलग चीजें होती हैं। ये हम C++ की
- 5:13:37बात कर रहे हैं। तो एब्स्ट्रैक्शन के अंदर
- 5:13:39जो C++ में एब्स्ट्रैक्शन है उसमें
- 5:13:41एब्स्ट्रैक्ट क्लास और इंटरफ़ेस सेम चीज
- 5:13:42है। तो इंटरफ़ेस जो आपने बनाया आप इंटरफ़ेस
- 5:13:45को हमने शुरू में बोला था इंटरफ़ेस को आप
- 5:13:48री आप इसको इंस्टेंशिएट नहीं कर सकते।
- 5:13:50यानी कि जो इंटरफ़ेस का आप कोई इंस्टेंस या
- 5:13:53ऑब्जेक्ट नहीं बना सकते। क्यों नहीं बना
- 5:13:55सकते? वो इसलिए नहीं बना सकते क्योंकि यह
- 5:13:57इसका कांसेप्ट ही नहीं है। कांसेप्ट यह
- 5:13:59कहता है बर्ड सिर्फ एक इंटरफेस है।
- 5:14:01एक्चुअली बर्ड की इंप्लीमेंटेशन आप
- 5:14:03बताओगे। आप एक्चुअली बर्ड की
- 5:14:05इंप्लीमेंटेशन आप बताओगे। स्परो एक बर्ड
- 5:14:07है। ईगल एक बर्ड है। तो इसको इस तरीके से
- 5:14:09समझो। आपने बोल दिया कोई बर्ड है उस कोई
- 5:14:11बर्ड है। उसका ऑब्जेक्ट बना दो। कौन सी
- 5:14:13बर्ड है भाई? वो तो बताओ। तो इसलिए बर्ड
- 5:14:16का ऑब्जेक्ट नहीं बन सकता। ठीक है? तो
- 5:14:18यानी कि किसी भी एब्स्ट्रैक्ट क्लास का या
- 5:14:20C++ के इंटरफ़ेस का आपका ऑब्जेक्ट नहीं बना
- 5:14:24सकते आप। ठीक है? बहुत ही इंपॉर्टेंट ये
- 5:14:26आपका क्वेश्चन है उसका इंटरव्यू का। ठीक
- 5:14:28है? तो आई होप आपको एब्स्ट्रैक्शन समझ आई
- 5:14:30होगी। मिलते हैं ऐसी किसी नेक्स्ट वीडियो
- 5:14:32में। तब तक के लिए गुड बाय। इस वीडियो में
- 5:14:34हम देखने वाले हैं लोकल वर्सेस ग्लोबल
- 5:14:36वेरिएबल क्या होते हैं? लोकल वेरिएबल
- 5:14:38ग्लोबल वेरिएबल्स क्या है? बहुत ज्यादा
- 5:14:40यूज़ करते हो आप जब C++ का प्रोग्राम लिखते
- 5:14:42हो। है ना? बट फॉर्मली समझते हैं होते
- 5:14:44क्या है? ये ग्लोबल वेरिएबल का मतलब होता
- 5:14:47है सिंपली ये फंक्शनंस के बाहर लिखा जाता
- 5:14:50है। किसी भी फंक्शनंस के बाहर एकदम
- 5:14:52आउटसाइड ऑफ द एनी फंक्शन। इसको लिखा जाता
- 5:14:55है और यह एक्सेसबल होता है सारे फंक्शनंस
- 5:14:57को और जो सारे फंक्शनंस को जो एक्सेसबल
- 5:15:00होता है सेम कॉपी एक्सेसबल होती है। यानी
- 5:15:02कि एक ही मेमोरी एड्रेस सारे फंक्शनंस को
- 5:15:05एक्सेसबल होता है।
- 5:15:08और लोकल वेरिएबल क्या होता है? लोकल
- 5:15:10वेरिएबल फंक्शन के अंदर लिखा जाता है।
- 5:15:12यानी कि वो लोकली एक स्कोप के अंदर यह
- 5:15:14स्कोपिंग होती है ना C++ उसमें कर्ली बसेस
- 5:15:17एक स्कोप के अंदर वो डिफाइन होता है और वह
- 5:15:20एक्सेसबल होता है। उस स्कोप के अंदर ही बस
- 5:15:24ठीक है? वह स्कोप्ड होता है। फटाफट से
- 5:15:26इसको एक बार कोड से समझते हैं। कोड से
- 5:15:27ज्यादा अच्छे से समझ आएगा।
- 5:15:30सपोज करते हैं मेरे पास एक x = मैंने टू
- 5:15:33ले लिया। ये आपका ग्लोबल वेरिएबल।
- 5:15:41यहां से लेना। ये आपका ग्लोबल वेरिएबल।
- 5:15:48ठीक है?
- 5:15:49और आपने यहां पर मेन के अंदर in x बनाया।
- 5:15:57इसके अंदर सिंपली आपने x को प्रिंट कराया।
- 5:16:04ठीक है? अब अगर आप इसको कंपाइल करोगे
- 5:16:14तो ये टू प्रिंट हो गया आपका। ठीक है? अब
- 5:16:16सपोज करते हैं आपने यहां पर इंट x बनाया
- 5:16:19एक और यहां पर सिंपली x को आपने यहां पर
- 5:16:2220 कर दिया तो यह क्या कर रहा है? ग्लोबल
- 5:16:25x को एक्सेस कर रहा है ग्लोबल x को है ना
- 5:16:29कैसे? इसको एक बार रन करेंगे तो x अब 20
- 5:16:31हो जाएगा। 20 हो गया। अब सपोज़ करते हैं
- 5:16:34हमने यहां पे इंट x बना दिया। एक और इसको
- 5:16:37हमने बोल दिया 20
- 5:16:41और इसको मैंने यहां से हटा दिया पहले को।
- 5:16:44या फिर इसको मैंने यहां पर फोर कर दिया।
- 5:16:51ठीक है? अब ध्यान से देखो। अब आप बताओ
- 5:16:55यहां पर कौन सा x प्रिंट होगा? ये जो x है
- 5:16:57ये x है। ये है आपका
- 5:17:00लोकल टू
- 5:17:03मेन फंक्शन।
- 5:17:06मेन फंक्शन क्या है? बेसिकली ना कोई भी आप
- 5:17:09वेरिएबल जो डिक्लेअर करते हो किसी फंक्शन
- 5:17:11के अंदर वो लोकल होता है। और वो लोकल एक
- 5:17:13स्कोप के अंदर होता है। वो स्कोप क्या है?
- 5:17:15लाइन नंबर सेवन से लेके लाइन नंबर 12 जो
- 5:17:18आपका कर्ली बेसिस होता है, यह आपका स्कोप
- 5:17:20होता है। लाइन नंबर सेवन से लाइन नंबर 12
- 5:17:21तक। ठीक है? तो जो यह वाला x है, यह
- 5:17:24स्कोप्ड है आपका पूरे मेन पे। क्योंकि मेन
- 5:17:27आपका स्कोप लाइन नंबर सेवन से लाइन नंबर
- 5:17:2912 तक जा रहा है। है ना? तो अब x क्या
- 5:17:30प्रिंट होगा? अब x क्या प्रिंट होगा?
- 5:17:33फटाफट से प्रिंट करके देखते हैं।
- 5:17:42x आपका 20 प्रिंट हुआ। यानी कि ग्लोबल
- 5:17:44एक्सपेंट नहीं हुआ। आपका लोकल एक्सपेंट
- 5:17:46हुआ। तो अगर आपके किसी फंक्शन के अंदर
- 5:17:49दोनों ग्लोबल वेरिएबल भी हैं, x और लोकल
- 5:17:52वेरिएबल भी हैं। दोनों का सेम नाम है तो
- 5:17:54आपका लोकल वेरिएबल को ज्यादा प्रेफरेंस
- 5:17:56मिलती है। जो मोस्ट लोकल होता है उसको
- 5:17:58ज्यादा प्रेफरेंस मिलती है। अब आप बोलोगे
- 5:18:00भैया यहां पे हम ग्लोबल वेरिएबल को कैसे
- 5:18:02एक्सेस कर सकते हैं? तो ग्लोबल वेरिएबल को
- 5:18:04एक्सेस करने का तरीका होता है आप कॉलन
- 5:18:07कॉलन x ऐसे करके एक्सेस करते हो।
- 5:18:14एक्सेसिंग
- 5:18:15ग्लोबल
- 5:18:19विद कॉलन कॉलन। ठीक है? अब आपका ये फोर
- 5:18:23प्रिंट होना चाहिए। 20 एंड फोर। फोर
- 5:18:26क्यों? क्योंकि हमने यहां पे इसको फोर कर
- 5:18:28दिया था। यहां पे हम इसको ऐसे भी लिख सकते
- 5:18:30थे
- 5:18:31x। ठीक है?
- 5:18:34ठीक है? अब हम कर सकते हैं। मैंने बोला था
- 5:18:37कि आपका लोकल वेरिएबल स्कोप्ड होता है। तो
- 5:18:39हम एक और स्कोप बना सकते हैं। यहां पे ये
- 5:18:41आपने स्कोप बनाया। आपने यहां इंट x =
- 5:18:4650 बोल दिया
- 5:18:48और सी आउट कर दिया आपने
- 5:18:52x।
- 5:18:54तो अब मैंने बोला था कि भाई स्कोप के अंदर
- 5:18:57जो लोकल वेरिएबल्स होते हैं उसमें मोस्ट
- 5:18:59लोकल जो होता है मोस्ट रीसेंट जो होता है
- 5:19:02वह प्रिंट होता है। तो यहां पे x कौन सा
- 5:19:04प्रिंट होगा? अब इस पॉइंट पे ना ये वाला x
- 5:19:06भी एक्सेसबल है। ये वाला x भी एक्सेसबल है
- 5:19:09और ये वाला x भी एक्सेसबल है। ये वाला 50
- 5:19:11वाला भी एक्सेसबल है। 20 वाला भी एक्सेसबल
- 5:19:13है। बट हमारा प्रिंट कौन सा होगा? एक्सेस
- 5:19:15कौन सा हो पाएगा? आपका मोस्ट लोकल। मोस्ट
- 5:19:18लोकल क्या है? 50। तो यहां पे प्रिंट होगा
- 5:19:2050। तो अब यहां पे अगर आप प्रिंट करोगे
- 5:19:22चला के देखते हैं।
- 5:19:24तो आपका 50 प्रिंट हो गया। ठीक है? 50
- 5:19:28प्रिंट हो गया। अब यहां पर कोई खास तरीका
- 5:19:30नहीं है कि आप 20 को कैसे एक्सेस करोगे।
- 5:19:32ठीक है? कोई तरीका नहीं है। अनलेस आप इसको
- 5:19:34यहां से अनडिक्लेअ कर दो। यहां से हटा दो,
- 5:19:36कमेंट कर दो। बट यहां पे आप ग्लोबल को
- 5:19:39एक्सेस कर सकते हो। ग्लोबल का काम ही यही
- 5:19:41है। आप उसको कहीं भी प्रोग्राम में कहीं
- 5:19:43भी एक्सेस कर सकते हो। ये ग्लोबल हो गया।
- 5:19:49कहीं भी एक्सेस कर लिया आपने इसको। ग्लोबल
- 5:19:51को फोर एक्सेस कर लिया। अब सपोज करते हैं
- 5:19:53मैं यहां पे एक फंक्शन बना देता हूं। वॉइड
- 5:19:57वन।
- 5:20:00ठीक है? यहां पे एक मैंने x बनाया जिसका
- 5:20:04नाम मैं फिक्स 60 लिख देता हूं। यहां सी
- 5:20:06आउट कर देता हूं x को। अब मैं यहां पर
- 5:20:10ग्लोबल एक्स को भी एक्सेस कर सकता हूं।
- 5:20:12कॉलन कॉलन x करके। तो अगर मैं अब यहां पे
- 5:20:15फन को कॉल करूंगा
- 5:20:18तो आपका क्या प्रिंट होगा?
- 5:20:22पहले आपका 60 प्रिंट होगा। फिर आपका
- 5:20:24ग्लोबल फोर प्रिंट हो जाएगा। अब उससे पहले
- 5:20:26हम ग्लोबल x को चेंज भी कर सकते थे। फोर
- 5:20:28की जगह हम इसको 40 कर देते हैं। 40 करके
- 5:20:32देखते हैं। तो ये आपका 40 भी हो जाएगा। 40
- 5:20:35भी हो जाएगा। ठीक है? तो ये होते हैं आपके
- 5:20:37ग्लोबल वेरिएबल एंड लोकल वेरिएबल। ग्लोबल
- 5:20:39वेरिएबल क्या है? आउटसाइड ऑफ़ द फंक्शन
- 5:20:41डिक्लेअ होते हैं। एक्सेसबल होते हैं सारे
- 5:20:43फंक्शनंस में। सारी सेम ही कॉपी एक्सेबल
- 5:20:46होती है। उसकी मल्टीपल कॉपी एक्सेसबल
- 5:20:48मल्टीपल कॉपीज़ नहीं बनती हैं। सेम कॉपी
- 5:20:50एक्सेबल होती है। सेम एक्स आपका सारे
- 5:20:52फंक्शन अब एक और नया फंक्शन भी डिक्लेअर
- 5:20:54कर दोगे तो उसके अंदर भी ये एक्सेसबल
- 5:20:56होगा। ठीक है? सिमिलरली लोकल क्या होता
- 5:20:58है? लोकल होता है स्कोप के अंदर। स्कोप के
- 5:21:00अंदर आप ये भी कर सकते थे कि हम यहां क्या
- 5:21:04करें? यहां एक और स्कोप बनाएं और यहां पे
- 5:21:07हम एक और इंट x = 500 डिक्लेअर करें। हैं
- 5:21:10ये फाइव नहीं कुछ बढ़िया सा बनाते हैं। 44
- 5:21:12डिक्लेअ करते हैं और यहां पे सी आउट कर
- 5:21:14देते हैं x को।
- 5:21:18ठीक है? और अभी के लिए मैं बाकी सारे x की
- 5:21:20प्रिंटिंग ना रोक देता हूं ताकि कंफ्यूजन
- 5:21:22ना हो।
- 5:21:26ठीक है?
- 5:21:30अब बताओ क्या प्रिंट होगा? अब इस स्कोप के
- 5:21:33अंदर यहां से यहां तक यहां के से यहां तक
- 5:21:35के स्कोप के अंदर ये 50 है। ठीक है? तो
- 5:21:38यहां पर क्या प्रिंट होगा? यहां पे 50
- 5:21:40प्रिंट होगा पहले और फिर आपका ग्लोबल
- 5:21:43वेरिएबल फोर प्रिंट होगा। और यहां पर क्या
- 5:21:45प्रिंट होगा? यहां पर 44 प्रिंट होगा।
- 5:21:47क्यों? क्योंकि मैंने बोला था मोस्ट
- 5:21:48रीसेंट लोकल वेरिएबल जो है आपका स्कोप
- 5:21:51वाइज़ वो एक्सेसबल होता है। तो अगर आप यहां
- 5:21:54पे प्रिंट करोगे ध्यान से तो देखो सबसे
- 5:21:56पहले आपका 44 प्रिंट हुआ। फिर आपका 50
- 5:21:59प्रिंट हुआ। फिर आपका फोर प्रिंट हुआ।
- 5:22:02यहां पे 44 क्यों नहीं प्रिंट हुआ? इस
- 5:22:03लाइन नंबर 27 पे 44 क्यों नहीं प्रिंट
- 5:22:05हुआ? बिकॉज़ आपका जो यह 44 है, यह सिर्फ
- 5:22:09यहां तक स्कोप्ड है। बस इसकी लाइफ जो है,
- 5:22:12इसका लाइफ साइकिल वो 23 लाइन पे शुरू होता
- 5:22:15है या फिर मैं बोलूं 24 लाइन पे शुरू होता
- 5:22:18है और 26 लाइन पे खत्म हो जाता है। ठीक
- 5:22:20है? 44 इज़ नो मोर इन द मेमोरी। ठीक है?
- 5:22:24आफ्टर लाइन नंबर 26।
- 5:22:27ठीक है? तो आई होप आपको ग्लोबल और लोकल
- 5:22:29वेरिएबल अच्छे से समझ आया होगा। मिलते हैं
- 5:22:30ऐसी किसी नेक्स्ट वीडियो में। तब तक के
- 5:22:32लिए गुड बाय। इस वीडियो में देखने वाले
- 5:22:34हैं मेमोरी लेआउट ऑफ ए प्रोग्राम। अगर
- 5:22:36आपके पास कोई C++ फाइल आई आपने बोला आपने
- 5:22:39बनाई थी हेलो डॉट CP
- 5:22:43आप क्या करते हो? उसको कंपाइल करते हो।
- 5:22:48कंपाइलर क्या करता है? असेंबली कोड बनाता
- 5:22:52है, मशीन कोड बनाता है। है ना? फिर उसे एक
- 5:22:55एग्जीक्यूटेबल बना देता है। ठीक है? वह
- 5:22:58एग्जीक्यूटेबल जो कोड बनता है उसको हम
- 5:23:00बोलते हैं प्रोग्राम।
- 5:23:04ठीक है? तो एक कंपाइलेशन एक प्रोसेस चाहिए
- 5:23:06होती है आपको जो आपका टेक्स्ट लिखा हुआ है
- 5:23:09ए बी सी डी जो आपने लिखी है हेलो डॉट सीp
- 5:23:11के अंदर उसको एक प्रोग्राम बनाने में और
- 5:23:14यह प्रोग्राम क्या होता है? यह प्रोग्राम
- 5:23:16आपका एग्जैक्ट करके एक
- 5:23:19कर्नल में एक बोल सकते हैं प्रोग्राम ही
- 5:23:22लगा लो।
- 5:23:24ठीक है? यानी कि आपके ओएस का ये प्रोग्राम
- 5:23:26है। जब भी आप डबल क्लिक करते हो या फिर A
- 5:23:28डॉट आउट डॉट स्लैश करके आप Linux पे कमांड
- 5:23:30को चलाते हो आप बेसिकली अपने
- 5:23:32एग्जीक्यूटेबल को रन करते हो तो आपका
- 5:23:34एग्जैक्ट नाम का एक प्रोग्राम है जो कि
- 5:23:38कर्नल के अंदर होता है। ओएस के अंदर होता
- 5:23:40है। वो उठाकर आपके प्रोग्राम को जो आपने
- 5:23:42बनाया है इससे सपोज आपने ए डॉट आउट बनाया
- 5:23:45है जो बाय डिफ़ॉल्ट बनता है। उसको आपका
- 5:23:47मेमोरी में लोड करेगा।
- 5:23:51मेमोरी क्या है? रैम रैम में लोड करेगा तो
- 5:23:54ये रैेम में कुछ स्पेस खा लेगा। ठीक है?
- 5:23:56या आपका प्रोग्राम मेमोरी में कुछ स्पेस
- 5:23:58ले लेगा रैेम के अंदर। तो ये स्पेस जो
- 5:24:01आपकी ली गई है ये कैसे डिटरमाइन होती है
- 5:24:04या फिर किस कौन सा पार्ट आपके प्रोग्राम
- 5:24:06का किस स्पेस में जाता है इसको समझते हैं।
- 5:24:08लेआउट समझते हैं पूरी मेमोरी का। ठीक है?
- 5:24:11तो ऐसा कुछ लेआउट होता है। जब भी आप उठाकर
- 5:24:14अपना जो आपने एग्जीकटर बनाई है उसको
- 5:24:16मेमोरी में लोड करते हो तो मेमोरी में वो
- 5:24:18कुछ इस तरीके से लेआउट होता है। सबसे पहले
- 5:24:21क्या है? ज़ीरोथ एड्रेस पे यानी कि जो
- 5:24:23ज़ीरोथ एड्रेस होगा सपोज़ करते हैं आपका 256
- 5:24:25KB का ये ए डॉट आउट था। इसका साइज़ था 256
- 5:24:29KB।
- 5:24:31ठीक है? तो, आपका 256 KB जो RAM में लोड
- 5:24:34होगा, उसका ज़ीरोथ एड्रेस नीचे होगा और 256
- 5:24:38एड्रेस यहां पे होगा। ठीक है? लो एड्रेस
- 5:24:40है। ये हाई एड्रेस है। ठीक है? तो
- 5:24:42स्टार्टिंग में जो टेक्स्ट कॉमोनेंट है
- 5:24:43जिसको मैं कोड सेगमेंट भी बोलता हूं। ठीक
- 5:24:46है? इसको हम बोलते हैं कोड सेगमेंट भी।
- 5:24:48कोड सेगमेंट भी बोलते हैं। तो जो मेरा
- 5:24:50टेक्स्ट कॉमोनेंट है जिसके अंदर
- 5:24:52एग्जीक्यूटेबल इंस्ट्रक्शन होती हैं सारी।
- 5:24:53यानी कि जो आपने कोड इसमें लिखा है आपका a
- 5:24:56डॉट आऊ जो बनाया है इसको जब कभी आप किसी
- 5:24:59टेक्स्ट फाइल में खोलोगे ना। किसी एडिटर
- 5:25:01के साथ खोल के देखना है a ड. आउट को तो
- 5:25:03उसके अंदर आपको बहुत सारा टेक्स्ट नजर
- 5:25:04आएगा। तो सारा जो इंस्ट्रक्शंस लिखी हुई
- 5:25:06हैं जो आपके आपने प्रोग्राम में लिखी हैं
- 5:25:08जो आपने C++ में लिखी थी बट अब वो असेंबली
- 5:25:11लैंग्वेज या लो लेवल मशीन कोड में चली गई
- 5:25:13है इंस्ट्रक्शंस बन गई हैं उनकी वो
- 5:25:15इंस्ट्रक्शन आपकी सबसे पहले कुछ जीरो से
- 5:25:18लेके कुछ साइज जितना आपका सबसे पहले कोड
- 5:25:22सेगमेंट होता है ठीक है फिर आपका होता है
- 5:25:24इनिशलाइज्ड डेटा इनिशलाइज्ड डेटा क्या है
- 5:25:28इनिशलाइज्ड डाटा क्या है सपोज़ करते हैं
- 5:25:30आपकी यह हेलो CP थी
- 5:25:34इसके अंदर यहां पर इंट मेन है।
- 5:25:39यहां पर कुछ फंक्शनंस लिखे हुए हैं आपके।
- 5:25:41ठीक है? और यहां पर आपने कुछ ग्लोबल डेटा
- 5:25:43डिक्लेअ किया है। इंट A ठीक है? ऐसे ही
- 5:25:45करा है इंट B = 1। तो ये आपका है
- 5:25:48अनइनिशियलाइज्ड डेटा। ठीक है? ये है
- 5:25:51इनिशियलाइज़्ड डेटा। तो आपका जो
- 5:25:53इनिशियलाइज्ड डेटा है जो आपने
- 5:25:55एक्सप्लसिटली B को वन से इनिशलाइज़ किया है
- 5:25:57कि भाई B आपका वन होना चाहिए। वो आपका
- 5:26:00इनिशलाइज डेटा के सेगमेंट में जाता है या
- 5:26:01इसको डेटा सेगमेंट भी बोलते हैं। ठीक है?
- 5:26:03इसके अंदर ऑल द ग्लोबल एंड स्टैटिक
- 5:26:05वेरिएबल्स सारे ग्लोबल और स्टैटिक
- 5:26:07वेरिएबल्स होते हैं दैट आर इनिशलाइज्ड बाय
- 5:26:09प्रोग्रामर जो आपने एक्सप्लसिटली
- 5:26:10इनिशियलाइज करे हैं। ठीक है? और ये आपका
- 5:26:13एग्जैक्ट के द्वारा रीड किए जाते हैं। रीड
- 5:26:14फ्रॉम प्रोग्राम
- 5:26:16फाइल बाय एग्जैक्ट। यानी कि प्रोग्राम
- 5:26:18फाइल अब आपने तो ये ये जो भी आपका
- 5:26:21प्रोग्राम है इसके अंदर बी को वन आपने सेट
- 5:26:23किया है ना? आपने सेट किया है ना? तो ओs
- 5:26:25जब आपका प्रोग्राम को लोड करेगा तो मेमोरी
- 5:26:28में जाके बी को वन वो सेट करेगा। वो किसने
- 5:26:30बोला है बी को वन सेट करने के लिए? आपने
- 5:26:32ही बोला है। राइट? तो इसलिए ये सिंपली रीड
- 5:26:35किया जाता है जो आपके प्रोग्राम में लिखा
- 5:26:36था। ठीक है? उसके बाद एक सेगमेंट है जो
- 5:26:39आपका अनइिशलाइज्ड डेटा है आपका। ये
- 5:26:41अनइनिशलाइज्ड है। आपने इसको इनिशलाइज़ नहीं
- 5:26:43किया। इसकी कोई गार्बेज वैल्यू होगी या
- 5:26:44कोई और वैल्यू होगी। अब ये ग्लोबल है तो
- 5:26:47वो ग्लोबल
- 5:26:49वो ग्लोबल स्टैटिक वेरिएबल्स जो कि
- 5:26:52अनइिशलाइज छोड़े हैं आपने वो बीएसएस
- 5:26:55सेगमेंट में जाते हैं या फिर अनइशलाइज
- 5:26:57डेटा सेगमेंट में जाते हैं जिसको हम
- 5:26:59बीएसएस की फुल फॉर्म यहां पे होती है
- 5:27:00ब्लॉक स्टार्टेड बाय सिंबल ठीक है उसके
- 5:27:03अंदर जाती है और उसको ओएस जो आपका है वो
- 5:27:06जानबूझ के उसको ज़ीरो से सेट कर देता है तो
- 5:27:08ए को जितने भी ग्लोबल या स्टैटिक आपके
- 5:27:10वेरिएबल्स हैं जो आपके जो आपने अनइशलाइज
- 5:27:13छोड़े हैं उनको वो ज़ीरो से इनिशलाइज़ कर
- 5:27:15देगा अर्थमैटिक ज़ीरो से। ठीक है? उसके बाद
- 5:27:18आपका पोर्शन होता है हिप का। ठीक है? हिप
- 5:27:21के अंदर क्या होता है? हिप के अंदर क्या
- 5:27:22होता है आपका? डायनेमिक मेमोरी
- 5:27:27जो आप न्यू कीवर्ड से या मेलॉग से ये सब
- 5:27:29जो आप
- 5:27:32प्रोग्राम के रन हो होते समय जो आप एलोकेट
- 5:27:35करते हो मेमोरी वो हीप से आती है। ठीक है?
- 5:27:37और दूसरा होता है स्टैक मेमोरी। स्टक
- 5:27:39मेमोरी क्या है? जब भी आप कॉल करते हो
- 5:27:41फंक्शन को फंक्शन कॉल जैसे ही होती है तो
- 5:27:43फंक्शन कॉल होती है। जिस फंक्शन से आप कॉल
- 5:27:46कर रहे हो वह वो फंक्शन एक स्टैक फ्रेम
- 5:27:47में स्टोर होता है। फिर जिस फंक्शन को कॉल
- 5:27:49किया गया है वो एक स्टैक फ्रेम में कॉल
- 5:27:51होता है। ठीक है? तो ऐसे आप कॉल करते जाते
- 5:27:53हो। ये पता ही है सबको। तो ये स्टैक
- 5:27:54मेमोरी होती है। ये स्टैक मेमोरी होती है।
- 5:27:56ये हिप मेमोरी होती है। स्टैक मेमोरी क्या
- 5:27:58है? सिंपली वही कि आप जब भी कोई फंक्शन
- 5:28:01कॉल करते हो तो जो करंट कॉन्टेक्स्ट है
- 5:28:04फंक्शन का वो सारा स्टैक में सेव होता है
- 5:28:06और सारे वेरिएबल स्टैक में सेव हो जाते
- 5:28:08हैं और फंक्शन कॉल हो जाता है। ठीक है?
- 5:28:09ठीक है? फिर आप जब रिटर्न करते हो तो उसी
- 5:28:10स्टक फ्रेम में आपको जहां से कॉल हुआ था
- 5:28:12वो सारी वैल्यू्यूज मिल जाती है। ठीक है?
- 5:28:14और सबसे ऊपर थोड़ी सी स्पेस में आपके
- 5:28:16कमांड लाइन आर्गुमेंट्स होते हैं। ठीक है?
- 5:28:18कमांड लाइन आर्गुमेंट क्या होते हैं? जब
- 5:28:20भी आप लinक्स पे कोई कमांड चलाते हो तो
- 5:28:22डॉट स्लश a डॉट आउट अगर चला रहे हो। आपने
- 5:28:24कोई कमांड लाइन आर्गुमेंट दिए हैं कि -x
- 5:28:27300 - y 400 ठीक है? इसको कहते हैं। कमांड
- 5:28:32लाइन आर्गुमेंट्स क्या है? इसको आप सिंपली
- 5:28:33Google करोगे तो आपको समझ आ जाएगा। कमांड
- 5:28:35लाइन में कुछ आर्गुमेंट दिए जाते हैं जिस
- 5:28:37तरह आपने लinक्स अगर चलाया होगा कभी तो
- 5:28:39उसमें आपको समझ आ जाएगा। ठीक है? तो कमांड
- 5:28:42लाइन आर्गुमेंट्स क्या है? किसी को नहीं
- 5:28:43समझ आया तो आप वो Google करके देखो समझ आ
- 5:28:45जाएंगे। ठीक है? ज्यादा बड़ी बड़ी चीज
- 5:28:47नहीं है। बहुत ही बढ़िया। इंपॉर्टेंट क्या
- 5:28:50है? ये सारे कांसेप्ट इंपॉर्टेंट है कि
- 5:28:52आपका टेक्स्ट सेगमेंट एक कोड सेगमेंट होता
- 5:28:53है। एक इनिशलाइज डेटा सेगमेंट होता है। एक
- 5:28:55बीएसएस सेगमेंट होता है। एक हिप होते हैं।
- 5:28:56स्टक होते हैं। ये सारे सेगमेंट्स होते
- 5:28:58हैं। ठीक है? हिप के अंदर डायनेमिक मेमोरी
- 5:28:59होती है। स्टक के अंदर आपकी जो रन टाइम
- 5:29:01में आप आप फंक्शनंस को कॉल कर रहे होते
- 5:29:04हैं वो वाली मेमोरी होती है। ठीक है? तो
- 5:29:06आई होप आपको C++ का मेमोरी लेआउट समझ आया
- 5:29:08होगा। ठीक है? यही सिंपल सा लेआउट है। ये
- 5:29:10क्यों समझाया जा रहा है? डायरेक्टली कोई
- 5:29:12इंटरव्यू में तो नहीं पूछते इसको। बट हां
- 5:29:15पता होना चाहिए। हो सकता है कोई ऐसा
- 5:29:18क्वेश्चन निकल आए जिस जिसमें आपको इस चीज
- 5:29:20की नॉलेज होनी चाहिए क्योंकि बहुत ही
- 5:29:22बेसिक है। ये बेसिक है आपका C++ का आपको
- 5:29:25पता होना चाहिए। तो आई होप आपको चीजें समझ
- 5:29:27आई होंगी। मिलते हैं ऐसी किसी नेक्स्ट
- 5:29:29वीडियो में। तब तक के लिए गुड बाय। इस
- 5:29:30वीडियो में हम देखने वाले हैं ऊप से
- 5:29:32रिलेटेड कुछ कांसेप्ट सीखने वाले हैं। ठीक
- 5:29:34है? उनमें सबसे पहला कांसेप्ट हम सीखेंगे
- 5:29:36कॉस्ट कीवर्ड। कॉनस्ट कीवर्ड काफी फेमस
- 5:29:39कीवर्ड और काफी यूज़ होने वाला नॉर्मली अगर
- 5:29:41आप प्रोग्राम लिख रहे हो, बहुत बड़े-बड़े
- 5:29:43प्रोग्राम्स लिख रहे हो तो उसमें बहुत
- 5:29:44ज्यादा यूज़ करते हैं हम कॉन्स्ट कीवर्ड
- 5:29:47को। ठीक है? तो कॉस्ट कीवर्ड क्या होता
- 5:29:49है? फॉर्मली देखते हैं। फिर फटाफट से
- 5:29:50ज्यादा टाइम वेस्ट नहीं करेंगे। सीधा ही
- 5:29:52हम इसको कोड करके देखेंगे। प्रैक्टिकली
- 5:29:54सीखेंगे क्या होता है कॉन्स्ट कीवर्ड? तो
- 5:29:56कॉस्ट कीवर्ड इज यूज्ड टू डिक्लेअर दैट अ
- 5:29:58वेरिएबल और फंक्शन और ऑब्जेक्ट इम्यूटेबल।
- 5:30:00इम्यूटेबल का मतलब वो चेंज नहीं हो सकता।
- 5:30:03चेंज नहीं हो सकता। मतलब आपने किसी
- 5:30:05वेरिएबल को एक बार 10 से इनिशियलाइज कर
- 5:30:07दिया। उसके बाद पूरी प्रोग्राम की लाइफ
- 5:30:10साइकिल में कहीं भी आप उसको दोबारा
- 5:30:12रिअसाइन नहीं कर सकते। उसको हम कॉस्ट
- 5:30:16वेरिएबल बोलते हैं। ठीक है? तो कॉस्ट का
- 5:30:18काम क्या है? किसी भी ऑब्जेक्ट को या मेथड
- 5:30:20को इम्यूटेबल बनाना। ठीक है? यानी कि वो
- 5:30:23किसी भी वेरिएबल को इनिशियलाइजेशन के बाद
- 5:30:25चेंज नहीं कर सकता। इट्स वैल्यू कैन नॉट
- 5:30:28बी चेंज आफ्टर इनिशियलाइजेशन। ठीक है?
- 5:30:31इसका मतलब अगर दूसरे शब्दों में बात करें
- 5:30:34हम तो कॉस्ट की और कुछ नहीं है। एक
- 5:30:37प्रॉमिस प्रॉमिस की तरह है। लाइक ए
- 5:30:38प्रॉमिस।
- 5:30:40प्रॉमिस का मतलब क्या है? एक प्रॉमिस आपने
- 5:30:42किया है। आपने किसी वेरिएबल को कॉनस्ट
- 5:30:44किया है। आपने लिख दिया कॉस्ट
- 5:30:48इंट x = 10। आपने बोल दिया x की वैल्यू 10
- 5:30:52रहने वाली है। और आप इसको दोबारा से
- 5:30:55रिसाइन नहीं करोगे x = 11 लिखकर। यह आप
- 5:30:59नहीं करोगे। और अगर आप ऐसा कर रहे हो तो
- 5:31:02आपका कंपाइलर आपको कंपाइलेशन एरर दे देगा।
- 5:31:08ठीक है?
- 5:31:09तो आपने एक प्रॉमिस किया है और उस प्रॉमिस
- 5:31:12को आप निभाना चाहते हो। आपने बोला है कि
- 5:31:15कोई फंक्शन या फिर कोई वेरिएबल या कोई
- 5:31:17ऑब्जेक्ट कांस्टेंट रहेगा। दैट्स इट। तो
- 5:31:19इस यही कास्ट का काम होता है। इसको कोड
- 5:31:22करके हम देखेंगे अभी। ठीक है? और एक और
- 5:31:25चीज मैं बता देता हूं। ये हम कर क्यों रहे
- 5:31:26हैं? कर इसलिए रहे हैं ताकि हम कोड को
- 5:31:29सिंपलीफाई कर सकें।
- 5:31:31सिंपलीफाई कर सकें। मतलब कि आप कोई
- 5:31:35वेरिएबल डिक्लेअर कर रहे हो और आप चाहते
- 5:31:37हो वेरिएबल कांस्टेंट ही रहे। आप नहीं
- 5:31:39चाहते उसको चेंज करना। ठीक है? तो अगर आप
- 5:31:41चेंज करना नहीं चाहते तो आप दिखाना चाहते
- 5:31:43हो या फिर कोई और जब आपने एक बार
- 5:31:45प्रोग्राम लिख दिया उसके अंदर इंट x = 10
- 5:31:47लिख दिया तो आप बोलना चाहते हो x की
- 5:31:49वैल्यू कांस्ट रहेगी। 10 ही रहेगी। तो कोई
- 5:31:51और प्रोग्रामर अगर दोबारा से आके आपको कोड
- 5:31:53आपके कोड को देखता है या फिर आपके कोड को
- 5:31:55आगे लिखने की कोशिश करता है। उसको
- 5:31:56कंटिन्यू करने की कोशिश करता है तो उसको
- 5:31:58यह पता चलेगा कि यार किसी ने ना x को 10
- 5:32:00कॉस्ट बनाया था। तो किसी रीज़न से बनाया
- 5:32:02होगा। तो उसको सिंपलीफिकेशन होगी। उसको
- 5:32:04समझ आ गया कि यार ये इसका किसी ये पर्पसली
- 5:32:06किसी ने इसको 10 को कांस्टेंट बनाया हुआ
- 5:32:09है। x को कांस्टेंट बनाया हुआ है। ठीक है?
- 5:32:11दूसरा अगर कोई कीवर्ड कॉस्ट आपने लिख दिया
- 5:32:14कॉन्टक्स्ट तो कंपाइलर क्या करता है?
- 5:32:17कंपाइलर सर्टेन लेवल ऑफ़ ऑप्टिमाइजेशन लगा
- 5:32:21देता है। ऑप्टिमाइजेशन मतलब कॉस्ट को क्या
- 5:32:24करेगा? वो दो मेमोरी के अंदर दो टाइप के
- 5:32:27वेरिएबल्स होंगे।
- 5:32:29यह आपकी सपोज करते हैं मेमोरी एरिया है।
- 5:32:31मेमोरी एरिया के अंदर यह एरिया होगा
- 5:32:33जिसमें सारे कांस्टेंट होंगे। यह वेरिएबल
- 5:32:35जिसके अंदर सारे वेरिएबल्स होंगे। तो आपका
- 5:32:37कंपाइलर क्या करेगा? कांस्टेंट वालों को
- 5:32:39ना सबको यहां स्टोर कर लेगा अलग से और या
- 5:32:43बोल सकता हूं उनको रीड ओनली मेमोरी में
- 5:32:44स्टोर कर देगा।
- 5:32:46ठीक है? अब कंपाइलर को या फिर कंप्यूटर को
- 5:32:49जब भी प्रोग्राम आपका रैम में लोड होगा
- 5:32:50उसको लोड लेने की जरूरत नहीं है कि भाई x
- 5:32:53y z ना कभी रीअसाइन होंगे। ठीक है? उसको
- 5:32:56लोड लेने की जरूरत नहीं है। तो उनको एक
- 5:32:58रीड ओनली मेमोरी में डाल देगा। अलग से
- 5:33:00मेमोरी बना देगा। रीड ओनली है कि हां इस
- 5:33:02मेमोरी के अंदर मुझे छेड़छाड़ी नहीं करनी।
- 5:33:03कोई छेड़छाड़ नहीं करूंगा मैं। ये हमेशा
- 5:33:05ऐसे ही रहेंगे। कांस्टेंट बने रहेंगे। ठीक
- 5:33:07है? तो ये रीड ओनली मेमोरी में स्टोर कर
- 5:33:09देता है। तो इस टाइप की ऑप्टिमाइजेशन
- 5:33:10लगाने का काम आता है। इस टाइप
- 5:33:12ऑप्टिमाइजेशन क्यों बोल रहा हूं इसको मैं?
- 5:33:13क्योंकि कुछ वेरिएबल्स आपने अगर आपने रीड
- 5:33:15ओनली सेट कर दिए हैं तो कंपाइलर को अब
- 5:33:17उनको बार-बार देखने की जरूरत नहीं है। या
- 5:33:19फिर कंप्यूटर को एक्स्ट्रा वर्क करने की
- 5:33:22जरूरत नहीं है कि ये कभी दोबारा से
- 5:33:23रीअसाइन होंगे। ठीक है?
- 5:33:25ठीक है? तो, यह कुछ होते हैं आपके कॉस्ट
- 5:33:28कीवर्ड का तरीका। और अगर मैं बोलूं यह एक
- 5:33:32प्रॉमिस है। प्रॉमिस का मतलब प्रॉमिस रियल
- 5:33:34लाइफ जैसा प्रॉमिस है। रियल लाइफ में आप
- 5:33:36प्रॉमिससेस ब्रेक कर देते हो। ऐसे ही इसको
- 5:33:38भी आप किसी तरीके से ब्रेक कर सकते हो।
- 5:33:40प्रॉमिस को आप किसी कॉन्स्ट वेरिएबल को
- 5:33:42नॉन कॉन्स्ट बना देते हो। उसकी कॉन्सेंट
- 5:33:44कॉन्स्टनेस हटा सकते हो। वो हम देखेंगे ये
- 5:33:47सब कैसे करने वाले हैं। ठीक है?
- 5:33:49तो फटाफट से एक बार कोड कोड पर आते हैं।
- 5:33:51सीधा कोड देखते हैं कि कैसे इसको कोड कर
- 5:33:53सकते हैं। तो अगर मैं सिंपली अगर मैं
- 5:33:55सिंपली कोड लिखूं यह मेरा सिंपल कोड है।
- 5:33:58इसमें मैं लिखता हूं कॉस्ट इंट x = 5 और
- 5:34:04सी आउट कर देता हूं x को।
- 5:34:08तो ये कोड क्या चलेगा? बिल्कुल चलेगा।
- 5:34:12अगर मैं इसको कंपाइल करूं और चलाऊं तो
- 5:34:15आपका x5 प्रिंट हो गया है। ठीक है? बहुत
- 5:34:18ही बढ़िया। तो मैंने कहा कि यह वेरिएबल जो
- 5:34:21x है इज कांस्टेंट।
- 5:34:24इसको आप चेंज नहीं कर सकते। तो अगर आप x
- 5:34:26को जब रीसाइन करोगे सपोज x को मैं 10 करने
- 5:34:29की कोशिश करूं। ठीक है? तो आप देखो सिंपली
- 5:34:32एरर आ गया है। वो कह रहा है एक्सप्रेशन
- 5:34:34मस्ट बी मॉडिफायबल एल वैल्यू। ठीक है? अब
- 5:34:37C++ में ना दो कांसेप्ट होते हैं।
- 5:34:40एक L वैल्यू, एक R वैल्यू। एल वैल्यू
- 5:34:45कांसेप्ट एल वैल्यू वह वाले वेरिएबल्स या
- 5:34:47वह वाले वेरिएबल्स होते हैं बेसिकली जिनकी
- 5:34:50मेमोरी लोकेशन होती है।
- 5:34:53ठीक है? यानी वेरिएबल्स
- 5:34:57हैविंग
- 5:34:59मेमोरी लोकेशन।
- 5:35:02और R वैल्यू होते हैं वह वेरिएबल्स
- 5:35:09डजंट हैव मेमोरी लोकेशन।
- 5:35:14एग्जांपल बताऊं तो l वैल्यू का एग्जांपल
- 5:35:16होगा आपका नॉर्मल आपने in x लिख दिया ठीक
- 5:35:18है कैर y लिख दिया है ना यह और अगर आप r
- 5:35:22वैल्यू की बात करो तो r वैल्यू क्या होगी
- 5:35:24सिंपल कांस्टेंट फाइव ठीक है या फिर आपने
- 5:35:27लिख दिया इंट
- 5:35:29एक रेफरेंस वैरिए इंट a = b तो यह जो हो
- 5:35:33गया यह इसकी कोई ना मेमोरी में लोकेशन
- 5:35:35नहीं है यह सिंपली b का एक नाम है यही
- 5:35:38होता है रेफरेंस वेरिएबल b की एक्चुअल
- 5:35:41मेमोरी पे कहीं लोकेशन होगी
- 5:35:43बट जो एंड A है इसकी कोई लोकेशन नहीं
- 5:35:45होगी। ये सिंपली आपका B का एक नाम है।
- 5:35:48एलियाज़ है। है ना? तो ये आपके R वैल्यू
- 5:35:50होते हैं। ये L वैल्यूज़ होते हैं। एल
- 5:35:52वैल्यू मतलब सिंपली बोलना है जिसकी मेमोरी
- 5:35:54लोकेशन हो। ठीक है? जिन सिंपल नॉर्मल
- 5:35:56वेरिएबल आप डिक्लअ करते हो वो सारे एल
- 5:35:57वैल्यू होते हैं। तो ये क्या कहने की
- 5:35:59कोशिश कर रहा है? अगर मैं इसकी बात करूं
- 5:36:00तो ये कह रहा है एक्सप्रेशन मस्ट बी ए
- 5:36:02मॉडिफायबल एल वैल्यू। वो बोल रहा है कि
- 5:36:04कोई ऐसी मेमोरी लोकेशन बताओ मुझे जिसको
- 5:36:05मॉडिफाई कर सकूं। क्यों? क्योंकि आपने
- 5:36:07इसको तो कांस्टेंट डिक्लेअर कर दिया है।
- 5:36:09तो इसको मैं मॉडिफाई नहीं कर सकता। अगर
- 5:36:11सिंपली इसको कंपाइल करने की कोशिश करूंगा
- 5:36:13तो ये अपना एरर दे देगा। सो एंड सो ये बोल
- 5:36:15रहा है कैन नॉट असाइन टू ए वेरिएबल x विद
- 5:36:19कॉनस्ट क्वालीिफायर है ना इसका मतलब आप
- 5:36:22कांस्टेंट को एक बार इनिशियलाइज तो कर
- 5:36:24सकते हो यानी यानी कि मैं बोल सकता हूं
- 5:36:26इनीशियलाइजेशन
- 5:36:31कैन
- 5:36:33बी डन
- 5:36:39बट वी कांट
- 5:36:42रिसाइन
- 5:36:45अ वैल्यू। ठीक है? हम रिसाइन नहीं कर
- 5:36:47सकते। तो, यह हो गया आपका सिंपल कास्ट
- 5:36:49वेरिएबल। ठीक है? अब दूसरा जैसे कि मैंने
- 5:36:51कहा ये एक प्रॉमिस है। तो हम इसको ब्रेक
- 5:36:53भी कर सकते हैं। तो अगर आप सिंपली बोलो
- 5:36:55सिंपली मैं बोलूं
- 5:36:58इंट स्टार p = एंड x यानी कि क्या करेगा?
- 5:37:04यह सिंपली क्या करेगा? p के अंदर x का
- 5:37:07वेरिएबल स्टोर कर लेगा। ठीक है? x का
- 5:37:08वेरिएबल स्टोर कर लेगा। फिर आप उठा के
- 5:37:11स्टार P को चेंज कर दो। स्टार P को 10 लिख
- 5:37:14दो। ठीक है? अब मैं बोलूं कि यह चीज ना यह
- 5:37:18चीज C++ में वर्क नहीं करती क्योंकि अब
- 5:37:20मॉडर्न कंपाइलर्स आ चुके हैं। बट पहले के
- 5:37:22जो कंपाइलर्स होते थे C बेस्ड कंपाइलर
- 5:37:25होते थे उसमें ये चीज़ वर्क कर कर जाती है।
- 5:37:27ठीक है? उसमें आप सिंपली X का एड्रेस उठा
- 5:37:31के किसी पॉइंटर में डाल देते हो और उस
- 5:37:32पॉइंटर को आप चेंज कर सकते हो। सिंपली आप
- 5:37:34Google भी करोगे ना आप कि कैसे कॉन्स्ट
- 5:37:36वेरिएबल को आप चेंज कर सकते हो। तो आपको
- 5:37:37यही एग्जांपल देगा। बट अब ये नए कंपाइलर्स
- 5:37:40में वर्क नहीं करता। तो ये एक ऑब्सोलेट
- 5:37:42तरीका है। इसको नहीं हम करेंगे। ठीक है?
- 5:37:45हटा देते हैं। अब सिंपली हमने ये देखा। अब
- 5:37:48दूसरा देखते हैं। इसको मैं कमेंट कर देता
- 5:37:51हूं।
- 5:37:53अब थोड़ा बड़ा कांसेप्ट सीखते हैं।
- 5:37:57कॉस्ट विद
- 5:37:59पॉइंटर्स।
- 5:38:05पॉइंटर्स के साथ कॉस्ट कैसे वर्क करता है?
- 5:38:07बहुत ही
- 5:38:08प्यारा कांसेप्ट है। तो सिंपली अगर मैं एक
- 5:38:10वेरिएबल बनाऊं इंट in स्टार a = न्यू इंट।
- 5:38:17ठीक है? ये लिख दूं मैं सिंपल और a को मैं
- 5:38:20इनिशलाइज़ कर दूं स्टार A = टू से टू असाइन
- 5:38:24कर दिया मैंने इसको और फिर मैं C आउट करूं
- 5:38:26स्टार A को।
- 5:38:28ठीक है? और फिर उसके बाद इंट B
- 5:38:32को इनिशलाइज़ करूं फाइव से।
- 5:38:36ठीक है? फिर उसके बाद a = एंड b कर दूं
- 5:38:42तो c आउट कर दूं स्टार a को तो फटाफट से
- 5:38:46बताओ इसका क्या आंसर आएगा फटाफट से बताओ
- 5:38:50इसको कंपाइल करते हैं
- 5:39:02रन करते हैं तो सबसे पहले आपकी वैल्यू आई
- 5:39:05टू आपने टू अनसाइन किया था टू आ गया। फिर
- 5:39:07उसके बाद आपने B को फाइव से असाइन किया
- 5:39:09था। और फिर आपने A को क्या किया? A पॉइंटर
- 5:39:11जो है उसको आपने पॉइंट करने लग गया B पे।
- 5:39:14पहले A किस पे पॉइंट कर रहा था? खुद A पे
- 5:39:16ही पॉइंट कर रहा था। अब A आपने B पे पॉइंट
- 5:39:17कर दिया और B पे पॉइंट करने के बाद सिंपली
- 5:39:20A को फाइव कर दिया। अब क्या मैं यहां बोल
- 5:39:22सकता हूं मेमोरी लीक है। फटाफट से सोचो।
- 5:39:23क्यों? क्योंकि आपने A को रखा। A का
- 5:39:26वेरिएबल रखा। फिर आपने स्टार A में टू
- 5:39:28असाइन किया और फिर A रखा। फिर A को B से
- 5:39:30इनिशियलाइज़ कर दिया। A को एंड B कर दिया।
- 5:39:33अब A को एंड B करने से क्या हुआ? ए तो तक
- 5:39:35तो खो गया। आपको यहां पे ए को डिलीट करना
- 5:39:37चाहिए था।
- 5:39:39आप सबसे पहले यहां पे डिलीट करते हैं ए
- 5:39:41को।
- 5:39:42ठीक है? अब इसको चलाएं तो हम
- 5:39:50अब कोई मेमोरी लीक नहीं होगा। ठीक है? कि
- 5:39:53आपने क्योंकि आपने ए को जो असाइन किया था,
- 5:39:55आपने न्यू एक डायनेमिकली एलोकेट किया था,
- 5:39:57उसको आपने हीट से डिलीट करा। डिलीट करने
- 5:39:59के बाद आपने ए को यूज़ किया। ठीक है? कुछ
- 5:40:01नहीं। इस कांसेप्ट को हम नहीं सीख रहे थे
- 5:40:03अभी हटा अभी के लिए हटा देते हैं। हम क्या
- 5:40:05सीख रहे थे? हम यहां पे सीख रहे हैं
- 5:40:07कांस्टेंट। तो अगर अब मैं क्या करूं? अब
- 5:40:10मैं क्या करूं?
- 5:40:13अब मैं सिंपली इसको ऐसे ही रहने देता हूं।
- 5:40:17और इसको उठा के मैं यहां पे कॉस्ट बना
- 5:40:20देता हूं। तो मैंने क्या किया? कॉस्ट इंट
- 5:40:23स्टार a = न्यू इंट। उसके बाद मैं
- 5:40:26एस्ट्रिक a टू कर रहा हूं। इसका मतलब
- 5:40:29मैंने एक कॉन्स्ट टाइप का
- 5:40:33यूज करा कॉस्ट का यूज किया और मैंने क्या
- 5:40:36किया मैंने एक कॉस्ट डाटा
- 5:40:42बना दिया और नॉन नॉन कॉस्ट पॉइंटर बना
- 5:40:48दिया। अब इसका क्या मतलब है? कॉस्ट डेटा
- 5:40:51का मतलब कि अब स्टार यानी कि एक बार से
- 5:40:56फटाफट आईपैड पर आते हैं। मैं बोल रहा हूं
- 5:40:59स्टार इक्व
- 5:41:02न्यू इंट
- 5:41:05और मैंने यहां पर कास्ट लिख दिया। तो इस
- 5:41:07कास्ट को लिखने से क्या हुआ ना कि आपका जो
- 5:41:10a था
- 5:41:14a था ये आपकी कोई मेमोरी लोकेशन थी। A जो
- 5:41:17है इस मेमोरी लोकेशन में पॉइंट कर रहा था।
- 5:41:19ठीक है? तो अब जब आप इसको ऐसे लिख देते हो
- 5:41:21ना इसका मतलब क्या है? कि आप बोल रहे हो
- 5:41:23कि यार जो डेटा होगा ना डेटा जो कंटेंट
- 5:41:26होगा कंटेंट
- 5:41:29ऑफ पॉइंटर वह तो रहेगा आपका कांस्टेंट।
- 5:41:33आपने बोल दिया कांस्टेंट रहेगा बट पॉइंटर
- 5:41:36इटसेल्फ
- 5:41:40कैन बी रिसाइन।
- 5:41:45तो इसके लिए हम इसको बोलते हैं कॉनस्ट
- 5:41:46डेटा नॉन कॉनस्ट पॉइंटर। यानी कि डेटा
- 5:41:49कांस्टेंट है। डेटा कांस्टेंट का मतलब
- 5:41:50क्या है? आपने एक बार इनिशलाइज़ किया। इशज़
- 5:41:52किया और इनिशलाइज़ नहीं कर सकते। आप इसको
- 5:41:54इनिशलाइज़ कैसे कर सकते हो? मैं इसको
- 5:41:55सिंपली टू से इनिशलाइज़ कर देता हूं। ठीक
- 5:41:58है?
- 5:41:59और सी आउट कर देता हूं। स्टार ए
- 5:42:03अब अगर मैं
- 5:42:06इसको हटा देते हैं। अब मैं स्टार ए को
- 5:42:08दोबारा से मैं 20 से असाइन करना चाहूं तो
- 5:42:10ये देखो कंपाइलेशन एरर दे रहा है। तो अगर
- 5:42:13मैं इसको हटाता हूं। इसको हटाता हूं और
- 5:42:14सिंपली इसको रन करता हूं।
- 5:42:24तो आपका टू प्रिंट हो गया। बट मैं इसको
- 5:42:27रीअसाइन नहीं कर सकता। मैं इसको रिसाइन
- 5:42:29करके अगर कंपाइल करने की कोशिश करूंगा तो
- 5:42:30सिंपली एरर दे रहा है वही कि एक्सप्रेशन
- 5:42:33मस्ट बी मॉडिफायबल एल वैल्यू यानी कि a
- 5:42:36मॉडिफायबल होना चाहिए। अब देख ध्यान से
- 5:42:38देखो मैंने बोला स्टार a टू 20 असाइन नहीं
- 5:42:41हो रहा। स्टार a 20 मतलब आप a को डी
- 5:42:43रेफरेंस कर रहे हो। ए को डी रेफरेंस
- 5:42:45करेंगे तो हम कहां पहुंचेंगे? इस लोकेशन
- 5:42:47पे। ठीक है? सपोज़ करते हैं ये जो आपने
- 5:42:49एलोकेट की थी 200 लोकेशन है। तो मैं बोल
- 5:42:52रहा हूं कि इस लोकेशन के अंदर अगर आपने एक
- 5:42:54बार इनिशियलाइज़ कर दी वैल्यू तो आप इस
- 5:42:56लोकेशन के अंदर यानी कि पॉइंटर का कंटेंट
- 5:42:59आप रीसाइन नहीं कर सकते। पॉइंटर को रिसाइन
- 5:43:01कर सकते हो। अब फटाफट से पॉइंटर को रिसाइन
- 5:43:03करके देखें वो इज़ाइन हो जाएगा। अगर मैं
- 5:43:06पॉइंटर को रिसाइन करूं मैं बोलूं इंट
- 5:43:09मैंने B बना दिया। B को B को आपने 20 ले
- 5:43:12लिया। और आपने बोल दिया a इक्व
- 5:43:16एंड b
- 5:43:19अब सी आउट स्टार ए प्रिंट करा दिया आपने
- 5:43:32तो ध्यान से देखोगे तो ये रन कर जाएगा
- 5:43:34आपका
- 5:43:36ये रन कर गया आपने क्या किया आपने
- 5:43:38कांस्टेंट इंट पॉइंटर बनाया ठीक है और
- 5:43:41इसका मतलब क्या है इस सिंटेक्स का मतलब है
- 5:43:43सिंपली आपने एक कास्टेंट डेटा वाला पॉइंटर
- 5:43:48बनाया है जिसके अंदर पॉइंटर खुद नॉन
- 5:43:51कांस्टेंट है। यानी कि पॉइंटर का कंटेंट
- 5:43:53या स्टार A जो है ये मॉडिफाई आप नहीं कर
- 5:43:56सकते। बट आप A को मॉडिफाई कर सकते हो। ठीक
- 5:43:59है? तो इसे ध्यान रखना है हमें। तो अब
- 5:44:01ध्यान से देखो। ये हम नहीं चला पा रहे थे।
- 5:44:04ठीक है? मैं लिख सकता हूं यहां कांट चेंज
- 5:44:07द कंटेंट ऑफ़ पॉइंटर।
- 5:44:11बट पॉइंटर कैन बी रीसाइंड।
- 5:44:15पॉइंटर इटसेल्फ
- 5:44:18कैन बी री
- 5:44:21असाइन। पॉइंटर को खुद को आप रीसाइन कर
- 5:44:24सकते हो। ठीक है? सिंपली ये वर्क कर रहा
- 5:44:26है ये नहीं वर्क कर रहा। तो हम इसको इस इस
- 5:44:28टाइप के कॉन्स्ट इंट स्टार पॉइंटर को क्या
- 5:44:29बोलते हैं हम? ये कांस्टेंट डेटा का नॉन
- 5:44:32कांस्टेंट पॉइंटर है। यानी कि डेटा जो पढ़ा
- 5:44:35है यानी कि आप A को डी रेफरेंस करोगे जो
- 5:44:38आपका A का कंटेंट है वो आपका कांस्टेंट है
- 5:44:41बट पॉइंटर खुद नॉन कांस्टेंट है। यानी
- 5:44:43उसको आप उठा के एज रीसाइन कर सकते हो। ठीक
- 5:44:46है? तो ये आपका सिंपली इस टाइप का पॉइंटर
- 5:44:48हो गया। ठीक है? इसको कमेंट करते हैं।
- 5:44:52अब नेक्स्ट टाइप मेरा है।
- 5:44:56नेक्स्ट टाइप मेरा है। बट नेक्स्ट टाइप
- 5:44:58देखने से पहले एक और चीज देखते हैं।
- 5:45:03एक और चीज देखते हैं। इस इस चीज को लिखने
- 5:45:06का ना एक और तरीका है। आप इसको ऐसे भी लिख
- 5:45:09सकते हो। आप लिख सकते हो इंटस्ट स्टार a
- 5:45:13इक्व
- 5:45:16न्यू इंट 2
- 5:45:19अब लाइन नंबर 13 पर जो लिखा है और लाइन
- 5:45:22नंबर 14 पर जो लिखा है यह दोनों सेम है।
- 5:45:25सेम एज
- 5:45:28लाइन नंबर
- 5:45:3013। ठीक है? अगर मैं इसको कमेंट कर दूं और
- 5:45:34सिंपली इसको भी बिल्ड करके रन करूं तो यह
- 5:45:37भी सेम ही वैल्यू देगा 2 एंड 20। ठीक है?
- 5:45:39तो इसका मतलब जब भी आप एस्ट्रिक से पहले
- 5:45:42एस्ट्रिक से पहले कॉस्ट कीवर्ड रखते हो तो
- 5:45:46इसका मतलब आपका कंटेंट कांस्टेंट होता है।
- 5:45:50ठीक है? तो मैं लिख देता हूं
- 5:45:55इफ आई राइट एस्ट्रिक इफ आई राइट कॉस्ट
- 5:46:00बिफोर एस्ट्रिक
- 5:46:04देन
- 5:46:06कंटेंट
- 5:46:08विल बी कॉन्स्ट पॉइंटर कॉनस्ट नहीं रहेगा
- 5:46:11कॉनेंट कॉनस्ट हो जाएगा आपका ठीक है
- 5:46:13सिंपली तो इसका मतलब लाइन नंबर 14 और लाइन
- 5:46:16नंबर 13 एक ही है तो आपको ध्यान से देखना
- 5:46:18है अगर आपको इस तरीके से लिखा दिखाई दे तो
- 5:46:20सेम चीज है। ठीक है? अब एक और टाइप का
- 5:46:22पॉइंटर देखते हैं। पॉइंटर देखते हैं।
- 5:46:26दूसरा आपका अगर आपको बनाना हो कि
- 5:46:28कांस्टेंट रहे आपका
- 5:46:32पॉइंटर
- 5:46:36बट नॉन कांस्टेंट रहे
- 5:46:39आपका डेटा यानी पॉइंटर कांस्टेंट रहे और
- 5:46:42नॉन कांस्टेंट डेटा रहे। ठीक है? पॉइंटर
- 5:46:44को कांस्टेंट रखना है भाई। अभी तक हमारा
- 5:46:46पॉइंटर नॉन कांस्टेंट था। तो आपका
- 5:46:48सिंटेक्स होगा आप लिख दोगे सिंपली इंट
- 5:46:52स्टार कॉस्ट a = न्यू इंट 2 आपने
- 5:46:59इनिशियलाइज़ कर दिया या नहीं एक बार
- 5:47:01इनिशलाइज़ तो आप कर ही सकते हो। अब ये क्या
- 5:47:03है? अब ये क्या है? अब मैं इसको बोलूंगा
- 5:47:06कि ये पॉइंटर तो कांस्टेंट है। पॉइंटर
- 5:47:09कांस्टेंट है पर इसका डेटा नॉन कांस्टेंट
- 5:47:11है। यानी डेटा को मॉडिफाई कर सकते हो। अब
- 5:47:13अगर आप डेटा को मॉडिफाई करना चाहोगे आप
- 5:47:16बोलोगे स्टार a इक्वल टू भाई साहब 20 कर
- 5:47:18दो इसको तो यह चल जाएगा ये चल जाएगा
- 5:47:22ध्यान से देखो एरर भी नहीं आया तो अगर मैं
- 5:47:24सी आउट करूंगा a
- 5:47:28स्टार ए
- 5:47:30इसको इससे पहले भी सी आउट करते हैं तो
- 5:47:34पहले a की वैल्यू क्या होगी एस्ट्रिक a की
- 5:47:36वैल्यू क्या होगी यानी कि पॉइंटर का
- 5:47:37कंटेंट क्या होगा टू उसके बाद कंटेंट होगा
- 5:47:40आपका 20 तो अगर मैं इसको बिल्ड करके रन
- 5:47:42करके भी देखता हूं। क्लियर कर देते हैं
- 5:47:44पहले। तो सिंपली पहले टू था अब 20 हो गया।
- 5:47:47यानी कि आपने कंटेंट को यानी कि कॉनस्टेंट
- 5:47:51डेटा को नॉन कांस्टेंट बना के रखा है।
- 5:47:53डेटा को आप चेंज कर सकते हो। यानी कि
- 5:47:55पॉइंटर जहां पॉइंट कर रहा है उसको आप चेंज
- 5:47:56कर सकते हो। बट खुद पॉइंटर को चेंज नहीं
- 5:47:58कर पाओगे। अगर मैं अब यहां लूं इंट B = अ
- 5:48:0250 सपोज़
- 5:48:04और मैं बोलूं कि भाई पॉइंटर तू चेंज हो जा
- 5:48:06एंड B कर लो। तो अब ये नहीं चलेगा। ये
- 5:48:09नहीं चलेगा। क्यों नहीं चलेगा? क्योंकि
- 5:48:12मेरा पॉइंटर कांस्टेंट है।
- 5:48:16ठीक है? तो ये आपका कंपाइलेशन एरर देगा।
- 5:48:18अगर आप इसको रन भी करके देखोगे तो आपका ये
- 5:48:21ये यही बोल रहा है कि आपका जो a है वो एक
- 5:48:25मॉडिफायबल एल वैल्यू होनी चाहिए। ये नहीं
- 5:48:27है जो कि। ठीक है? अब अब तीसरे टाइप का
- 5:48:30पॉइंटर देख सकते हैं हम।
- 5:48:33अगर मैं बोलूं कि मुझे कास्टेंट ही चाहिए
- 5:48:36आपका पॉइंटर और कांस्टेंट ही चाहिए आपका
- 5:48:39डाटा। तो आप समझदार हो। मैंने बोला था कि
- 5:48:43अगर एस्ट्रिक से पहले आपका कांस्टेंट है
- 5:48:46तो आपका डाटा कंटेंट रहेगा। डेटा जो है वो
- 5:48:49कांस्टेंट रहेगा वो एस्ट्रिक के बाद कॉस्ट
- 5:48:52होगा तो आपका पॉइंटर कांस्टेंट रहेगा। तो
- 5:48:54आप पहले बाद दोनों ही डाल दो। आप बोल दो
- 5:48:56इंट बोल दो कॉस्ट इंट स्टार कॉस्ट a =
- 5:49:02न्यू
- 5:49:04इंट a 10
- 5:49:08ठीक है 10 से इनिशलाइज किया आपने यानी कि
- 5:49:10शुरू में तो ये 10 प्रिंट हो जाएगा
- 5:49:13इनिशलाइज तो कर ही सकते हो ना यानी ये तो
- 5:49:15चल जाएगा अगर इसको चला के देखें हम
- 5:49:20तो ये तो चल रहा है बट ना तो मैं इसके
- 5:49:24कंटेंट को मॉडिफाई कर सकता एरर आ गया ना
- 5:49:28तो मैं अगर एक नया B वेरिएबल इनिशलाइज़
- 5:49:31करता हूं और मैं बोलता हूं भाई A तू
- 5:49:33रीइशलाइज़ हो जा एंड B से तो ये भी नहीं
- 5:49:36चलेगा ना तो आपका ये ये भी एरर दे रहा है
- 5:49:39और ये भी एरर दे रहा है। यानी कि आपका
- 5:49:41पॉइंटर भी कांस्टेंट है। पॉइंटर को रिसाइन
- 5:49:43नहीं कर सकते और पॉइंटर का डेटा पॉइंटर जब
- 5:49:45पॉइंट कर रहा है वो भी कांस्टेंट है। ठीक
- 5:49:47है? तो यह हो गए आपके तीन टाइप के
- 5:49:50कांस्टेंट पॉइंटर के पॉइंटर के टाइप यानी
- 5:49:53कि आप पॉइंटर्स के साथ कैसे-कैसे तीन
- 5:49:56तरीके से आप कॉस्ट कीवर्ड को यूज़ कर सकते
- 5:49:59हो। ठीक है? अब नेक्स्ट देखते हैं क्या हम
- 5:50:01कॉस्ट को यूज़ कर सकते हैं आपके क्लासेस के
- 5:50:04साथ। तो अगर मैं बोलूं यू कैन डिक्लेअर ए
- 5:50:07फंक्शन कॉन्स्ट। किसी फंक्शन को हम
- 5:50:09कॉन्स्ट डिक्लेअर कर सकते हैं। व्हिच मींस
- 5:50:11इट डज़ नॉट मॉडिफाई द स्टेट ऑफ़ द ऑब्जेक्ट
- 5:50:14इट इज़ कॉल्ड ऑन। ठीक है? इसको दोबारा
- 5:50:17समझते हैं। सीधा एग्जांपल से समझते हैं।
- 5:50:19अगर मैं इसको उठाकर मेन टू बना देता हूं।
- 5:50:26इंट मेन बना देते हैं। एक
- 5:50:29रिटर्न ज़ीरो।
- 5:50:33ठीक है? अब देखते हैं। हम सिंपली मैं एक
- 5:50:35क्लास बना देता हूं। क्लास ए बी सी नाम की
- 5:50:37एक क्लास बना लेते हैं। ठीक है?
- 5:50:41और इसके प्राइवेट मेंबर बनाते हैं आपका in
- 5:50:44x
- 5:50:46और इंट स्टार व ठीक है और पब्लिक बनाते
- 5:50:50हैं आपके एक
- 5:50:53कंस्ट्रक्टर बनाते हैं पहले
- 5:50:56इसको लिख देते हैं भाई x को भी हम ज़ीरो से
- 5:50:58इनिशलाइज कर देते हैं और स्टार y को भी हम
- 5:51:02सॉरी y को भी हम एक ही पे पॉइंटर बना देते
- 5:51:05हैं न्यू
- 5:51:07ज़ीरो से इनिशलाइज कर देते हैं। ठीक है?
- 5:51:11यह हमने गलत लिख दिया सिंटेक्स। हमें न्यू
- 5:51:13लिखना था।
- 5:51:15ठीक है? यह हमने कंस्ट्रक्टर बना दिया
- 5:51:17डिफॉल्ट कंस्ट्रक्टर। अब फटाफट से
- 5:51:20x और y के गेटर सेटर लिख देते हैं हम। ठीक
- 5:51:22है? तो इंट गेट x x को कैसे गेट करेंगे
- 5:51:26हम?
- 5:51:28x को कैसे गेट करेंगे हम? सिंपली
- 5:51:33रिटर्न कर देंगे x।
- 5:51:36सेट लिखते हैं। वॉइड सेट x
- 5:51:42x को कैसे सेट करेंगे? सिंपली इंट
- 5:51:49कोई वैल्यू लेंगे
- 5:51:51और हम क्या करेंगे? x = वैल्यू कर देंगे।
- 5:51:57सिमिलरली हम y के लिए लिख देंगे।
- 5:52:03गेट y
- 5:52:05यह आपका
- 5:52:07एस्ट्रिक y रिटर्न कर देगा।
- 5:52:09गेट सेट x सेट y इसको यह y सेट कर देगा
- 5:52:13ऐसे। ठीक है? सिंपली आपने गेट अ सेटर लिख
- 5:52:16दिया। अब आप सिंपली अगर
- 5:52:19एक वेरिएबल बनाएंगे हम a b c a
- 5:52:23c आउट
- 5:52:25करेंगे हम a डॉट गेट x
- 5:52:31सिमिलरली हम कॉल करेंगे a डॉट गेट y तो
- 5:52:36शुरू में कैसे इनिशलाइज़ थी? यह ज़ीरो से
- 5:52:38इनिशलाइज़ थे। तो, यह क्या रिटर्न? यह क्या
- 5:52:40रिटर्न करेंगे? ज़ीरो ज़ीरो आ जाएगा आपका
- 5:52:42आंसर। तो, इसको हम करेंगे तो ज़ीरो ज़ीरो आ
- 5:52:45गया। ठीक है? सिंपली आपने कोड लिख दिया।
- 5:52:47ये आई होप ये समझ आ गया होगा। बहुत ही
- 5:52:49बढ़िया।
- 5:52:51अब सबसे पहले हम देखते हैं कि अब यहां पे
- 5:52:53कॉस्ट का कैसे वर्ड कीवर्ड होगा? हमने
- 5:52:55बोला हमने बोला
- 5:52:58अगर आपने कोई मेथड उठाया, क्लास का मेथड
- 5:53:00उठाया और उसको आपने कॉस्ट बना दिया। ध्यान
- 5:53:04से सुनना। मेथड उठाया अपना आपने उसको
- 5:53:06कॉस्ट बना दिया। इसका मतलब मैं बोलूंगा कि
- 5:53:09दिस मेथड
- 5:53:12कैन नॉट एवर चेंज
- 5:53:18एनी ऑफ द मेंबर वेरिएबल।
- 5:53:24यानी कि क्लास का वह मेथड क्लास के किसी
- 5:53:27भी मेंबर वेरिएबल को चेंज नहीं कर सकता।
- 5:53:30इसका मतलब क्या है कि अब मैं सिंपल इसको
- 5:53:33इसको बोल दूं कॉस्ट।
- 5:53:36इस मेथड को मैंने बोल दिया यह होता है
- 5:53:38सिंटेक्स। आप इसके बाद बोलते हो कॉस्ट। ये
- 5:53:40कॉस्ट लिख देते हो। अब कॉस्ट का मतलब क्या
- 5:53:42है कि ये मेथड ना अब गेट x नाम का जो मेथड
- 5:53:45है ये कभी भी ना आपका रीम मॉडिफाई नहीं कर
- 5:53:48सकता। आपके किसी भी वेरिएबल को मॉडिफाई ये
- 5:53:52नहीं कर सकता। ठीक है? इसका मतलब अगर मैं
- 5:53:54सिंपली यहां से बोलूं कि भाई x तू ना यहां
- 5:53:58पे 50 हो जा। तो ये सिंपली आपको एरर देगा।
- 5:54:01यह बोलेगा यार एक्सप्रेशन मस्ट बी ए
- 5:54:04मॉडिफायबल एल वैल्यू। सिंपल सेम एग्जांपल
- 5:54:07आ जाएगा। अगर मैं इस कांस्ट को हटा दूंगा
- 5:54:08यहां से तो आपका x मॉडिफाई हो जाएगा। ठीक
- 5:54:12है? x मॉडिफाई हो जाएगा। तो अगर आप चाहते
- 5:54:14हो कोई ऐसा फंक्शन लिखना जिस फंक्शन के
- 5:54:17अंदर आपके क्लास के मेंबर वेरिएबल कभी
- 5:54:20चेंज ना हो। आपके क्लास के मेंबर वेरिएबल
- 5:54:23कभी चेंज ना हो तो आप उस फंक्शन को
- 5:54:25कॉन्स्ट डिक्लेअर कर दोगे। ठीक है? तो हम
- 5:54:27इसको कांस्टेंट बना सकते हैं क्योंकि हम
- 5:54:29क्या कर रहे हैं यहां पे? हम सिंपली x को
- 5:54:31गेट कर रहे हैं। हम नहीं चाहते x यहां पे
- 5:54:33मॉडिफाई हो जाए। ठीक है? तो हम इसको हटा
- 5:54:36देंगे। बट अब क्या बताओ? क्या आप सेट सेटर
- 5:54:40को किसी भी वेरिएबल को सेटर को कांस्टेंट
- 5:54:43बनाना चाहोगे? नहीं बनाना चाहोगे। क्यों?
- 5:54:45क्योंकि आप तो चाहते हो ना सेटर जो है
- 5:54:47किसी मेंबर वेरिएबल को चेंज करे। वो x को
- 5:54:49जाके सेट करने जा रहा है। रीअसाइन करने जा
- 5:54:51रहा है। तो इसलिए आप यहां पे कॉन्स्ट नहीं
- 5:54:54लिखोगे। तो इसको यहां से हम कॉन्स्ट हटा
- 5:54:56देते हैं। तो अगर सिंपल मैं y की बात करूं
- 5:54:58तो अगर मैं y एक वेरिएबल ले लूं इंट a इंट
- 5:55:03मैं बोलूं f =
- 5:55:07इंट स्टार f = नहीं सिंपली f ले लेते हैं।
- 5:55:10f = मैं बोलूं 10 20 और मैं बोलूं कि y
- 5:55:15भाई तू f पे पॉइंट करने लग जा। y एक
- 5:55:17पॉइंटर है। y पॉइंटर है। हमने बोला इसको
- 5:55:20अभी ये यहां पे पॉइंट कर रहा था। जो यहां
- 5:55:22पे वैल्यू वेरी यहां पे ये जहां पे पॉइंट
- 5:55:25करने लगा वो हिप की लोकेशन पे हमने इसको
- 5:55:28बोला कि भाई तू यहां पे रीअसाइन हो जा f
- 5:55:31पे लोकेट करने लग जा। ठीक है? तो हम चाहते
- 5:55:33हैं ये चीज ना हो तो हम इसको सिंपली यहां
- 5:55:34पे कॉन्स्ट बना देंगे। तो कॉस्ट बना देंगे
- 5:55:36तो y रीसाइन नहीं हो पाएगा। ठीक है? तो
- 5:55:38हमें इसे कॉनस्ट बनाना पड़ेगा।
- 5:55:42ठीक है? बहुत ही बढ़िया। तो ये ये आपका हो
- 5:55:44गया कॉस्ट का यूज़। जब आप उन मेथड्स को
- 5:55:47कॉस्ट बनाना चाहते हो जिसमें आप मेंबर
- 5:55:48वेरिएबल्स को चेंज नहीं करना चाहते। ठीक
- 5:55:50है? अब इसका फटाफट से एक और एग्जांपल
- 5:55:51देखते हैं। मान लो मैं बोलूं कि आपने एक
- 5:55:54फंक्शन लिख दिया वॉइड प्रिंट ABC वो क्या
- 5:55:57करता है? आपका एक एबी सी नाम का ऑब्जेक्ट
- 5:56:00लेता है।
- 5:56:03ठीक है? कॉनस्ट ऑब्जेक्ट लेता है। कॉस्ट
- 5:56:06ABC एंड A आपने ABC लिया और सिंपली क्या
- 5:56:11करता है? वो प्रिंट कर देता है। क्या? a
- 5:56:14डॉट गेट x
- 5:56:18और a डॉट गेट y
- 5:56:25सिंपली इसको प्रिंट करता है। ठीक है? अब
- 5:56:27हम इसको a को विजुअलाइज़ करते हैं 1 2 से
- 5:56:34और फिर हम क्या करेंगे? हम प्रिंट कर
- 5:56:36देंगे a b c को और इसमें हम a भेज देंगे।
- 5:56:40ठीक है? यहां 1 2 से इनिशलाइज नहीं हो पा
- 5:56:41रहा है। तो हम यहां पे लिख देते हैं एक
- 5:56:43कंस्ट्रक्टर। एक और कंस्ट्रक्टर लिख देते
- 5:56:45हैं। यहां पे
- 5:56:49डिफ़ॉल्ट कंस्ट्रक्टर के अलावा ये ले रहा
- 5:56:51है आपका इंट x की वैल्यू इंट
- 5:56:55y
- 5:56:57और सिंपली x को हम असाइन करेंगे x से और
- 5:57:00स्टार y को असाइन करेंगे
- 5:57:04y से। ठीक है?
- 5:57:06आपने कंस्ट्रक्टर लिख दिया। अब नेक्स्ट
- 5:57:09सिंपली तो अगर हम इसको कंपाइल करके चलाने
- 5:57:11की कोशिश करेंगे
- 5:57:13तो यह जीरो जीरो प्रिंट हो गया। ठीक है?
- 5:57:16जीरो ज़ीरो क्यों प्रिंट हुआ है? यहां पे
- 5:57:17हमने यही लिख दिया है। तो हम यहां क्या
- 5:57:19करेंगे? हम न्यू ये इसको y कर देंगे। ठीक
- 5:57:23है? तो आपने क्या करा? एक डिफ़ॉल्ट
- 5:57:25कंस्ट्रक्टर लिखा था। अब आपने एक और
- 5:57:27नॉर्मल कंस्ट्रक्टर लिखा है जिसमें आपका x
- 5:57:29और y ये आर्गुमेंट ले रहा है। ठीक है?
- 5:57:32बहुत ही बढ़िया। अब इसको रन करके देखें।
- 5:57:37तो आपका 0 और 2 प्रिंट हो रहा है। 0 2
- 5:57:39प्रिंट हो रहा है। x को 0 रखा है। इसको
- 5:57:40हमें 0 x लेना पड़ेगा।
- 5:57:45बहुत ही बढ़िया। तो ये वन और टू प्रिंट हो
- 5:57:47गया आपका। सिंपली
- 5:57:49आपने वन टू से इनिशलाइज़ किया था तो वन टू
- 5:57:51प्रिंट हो गया। अब अब सपोज़ करते हैं हमने
- 5:57:54यहां पे एक और वेरिएबल ऐड करा इंट z। ठीक
- 5:57:58है? और अब आप z को इनिशलाइज़ कर रहे हो।
- 5:58:00इसको हटा देता हूं मैं। इस कंस्ट्रक्टर को
- 5:58:02अभी के लिए हटा देते हैं। और z को
- 5:58:04इनिशलाइज कर रहे हो। z
- 5:58:08=
- 5:58:09z
- 5:58:11ठीक है? और आप एक और z ले रहे हो। इंट z
- 5:58:17= 0 अब यहां पे एक कांसेप्ट सीखते हैं।
- 5:58:20आइए z = 0 का मतलब क्या है? आपने डिफॉल्ट
- 5:58:23आर्गुमेंट दे दिया है। डिफॉल्ट आर्गुमेंट
- 5:58:25जितने भी डिफ़ॉल्ट आर्गुमेंट होते हैं, आप
- 5:58:26ऐसे बहुत सारे आर्गुमेंट ऐड कर सकते हो।
- 5:58:29आप सपोज़ कर सकते हैं हम एक u वेरिएबल ऐड
- 5:58:31करें। इसको जीरो इसको फाइव से इनिशलाइज कर
- 5:58:33दें। ठीक है? तो ये सारे डिफॉल्ट
- 5:58:36आर्गुमेंट। डिफ़ॉल्ट आर्गुमेंट का मतलब आप
- 5:58:38जब नीचे से इसको कॉल करोगे। आप जब नीचे से
- 5:58:41कॉल करोगे तो आप ध्यान से देखो। मैं वन टू
- 5:58:44वैल्यू दे रहा हूं। मैं z की वैल्यू नहीं
- 5:58:45दे रहा। X और Y की वैल्यू दे रहा हूं। X
- 5:58:48और Y की वैल्यू दे रहा हूं। मैं Z की
- 5:58:50वैल्यू नहीं दे रहा। तो, यह एरर नहीं दे
- 5:58:52रहा कोई। पर अगर मैं इसको ऐसे हटा दूंगा,
- 5:58:55डिफॉल्ट इसको हटा दूंगा, तो यह इधर एरर
- 5:58:58देने लग जाएगा कि भाई एक और एक और आपका
- 5:59:00आर्गुमेंट ऐड करो। ठीक है? तो अगर मुझे
- 5:59:03डिफॉल्ट बनाना है, तो मैं ऐसे डिफ़ॉल्ट बना
- 5:59:04सकता हूं। इसको हम बोलते हैं डिफ़ॉल्ट
- 5:59:06आर्गुमेंट। डिफ़ॉल्ट आर्गुमेंट का सिंपली
- 5:59:07क्या मतलब है? कि आपने एक वेरिएबल बनाया,
- 5:59:10एक आर्गुमेंट बनाया जो आप अगर नीचे से
- 5:59:13नहीं भी भेजोगे, जहां से कॉल कर रहे हो,
- 5:59:14वहां से नहीं भी भेजोगे, तो अपने आप
- 5:59:16डिफ़ॉल्ट ले लेगा। ज़ीरो अगर मैंने ज़ीरो
- 5:59:18लिखा है, तो। ठीक है? तो, हमने इसको
- 5:59:20डिफ़ॉल्ट आर्गुमेंट बना दिया ज़ीरो। तो Z
- 5:59:22आपका सिंपली ज़ीरो से इनिशलाइज़ हो जाएगा।
- 5:59:24ठीक है? डिफ़ॉल्ट आर्गुमेंट समझ आ गया?
- 5:59:26इसको बोलते हैं ऐसे डिफ़ॉल्ट
- 5:59:30आर्गुमेंट।
- 5:59:33ठीक है? गंदी राइटिंग ऐसे लिख देता हूं।
- 5:59:35डी एफ ए यू एल टी आर्ग्यूमेंट।
- 5:59:40डिफ़ॉल्ट आर्गुमेंट हमें समझ आ गया। सिंपली
- 5:59:42हमें डिफ़ॉल्ट आर्गुमेंट डाल दिया। यहां
- 5:59:44कोई एरर नहीं आ रहा। और आप सिंपली यहां पे
- 5:59:47थ्री दे भी सकते हो। अगर थ्री दे भी दोगे।
- 5:59:49थ्री दोगे तो ये जीरो जो है ओवराइड हो
- 5:59:51जाएगा। ठीक है? इसे फटाफट से करके दिखाता
- 5:59:53हूं। मान लो मैंने इसको यहां पे कुछ नहीं
- 5:59:56दिया। कुछ नहीं दिया। और मैं यहां पे एक
- 5:59:59और ऐड करूंगा। यहां पे वैल्यू
- 6:00:05आप यहां लिखोगे A डॉट गेट Z
- 6:00:12A डॉट गेट Z का मतलब है मुझे गेटर लिखना
- 6:00:15पड़ेगा।
- 6:00:16लिख देते हैं फटाफट। इंट गेट Z
- 6:00:22रिटर्न
- 6:00:25Z
- 6:00:28ठीक है? अब मैं सिंपली अगर इसको रन करूंगा
- 6:00:34तो मुझे एरर आ गया। एरर क्या है? गेट गेट
- 6:00:37Z हियर डिक्लेयर्ड दिस
- 6:00:40ए बी सी बट द वन। ओके
- 6:00:44ओके। तो अब देखो ध्यान से हमें क्या एरर
- 6:00:47आया? हमें एरर रहा है दिस आर्गुमेंट इन द
- 6:00:50वेरिएबल गेट z हैज़ टाइप कॉस्ट ABC बट
- 6:00:53फंक्शन इज़ नॉट मार्क्ड कॉस्ट। इसका मतलब
- 6:00:57आप ध्यान से देखो यहां पे आपने क्या लिखा
- 6:00:59था? a को लिखा था कॉस्ट। यानी कि आपने
- 6:01:01नीचे से a दिया और आपने यहां जाके कॉनस्ट
- 6:01:03बना दिया। कॉस्ट का मतलब अब जो ये a बाय
- 6:01:06रेफरेंस आपने लिया है, यह कॉन्स्ट है।
- 6:01:09कॉस्ट का मतलब यह किसी भी मेंबर वेरिएबल
- 6:01:11को चेंज नहीं कर सकता। ठीक है? अब ध्यान
- 6:01:13से देखो। ध्यान से समझेंगे हम यहां पे।
- 6:01:15मैंने बोला a डॉट गेट z अब a डॉट गेट z जब
- 6:01:19इसने कॉल कॉल किया तो गेट z के यहां पे
- 6:01:22कॉस्ट लिखा था तो कॉस्ट लिखा था मतलब ये
- 6:01:24गारंटी कर रहा है ये फंक्शन कि ये किसी भी
- 6:01:27मेंबर वेरिएबल को चेंज नहीं करेगा कॉस्ट
- 6:01:30का मतलब यही है बहुत ही बढ़िया अब कंपाइलर
- 6:01:32ने देखा a डॉट गेट y अब a डॉट गेट y पे जब
- 6:01:35गया तो उसने देखा यार ये भी कॉस्ट है ये
- 6:01:37भी कॉनस्ट का मतलब ये भी किसी वेरिएबल को
- 6:01:39चेंज नहीं करेगा बहुत ही बढ़िया अब आपने
- 6:01:41देखा a डॉट गेट z अब a डॉट गेट z पे उसने
- 6:01:44जाके देखा यार यार a डॉट गेट z तो सिंपली
- 6:01:48एक नॉर्मल फंक्शन है। यह तो एक कॉन्स्ट
- 6:01:50फंक्शन है ही नहीं। तो क्योंकि ये कॉन्स्ट
- 6:01:53फंक्शन नहीं है। तो कंपाइलर ने बोला इट इज
- 6:01:56पॉसिबल। इट इज पॉसिबल कि यहां पर कोई बंदा
- 6:02:00जाए और z को 10 कर दे।
- 6:02:04यहां पे कोई बंदा जाए Z को 10 कर दे।
- 6:02:06ध्यान से देखो। को कोई एरर भी नहीं दे रहा
- 6:02:08है। ये कोई एरर भी नहीं दे रहा है। तो
- 6:02:09इसलिए कंपाइलर ने सीधा पकड़ लिया इस चीज
- 6:02:11को कि यार ये वेरिएबल तो आपका ठीक है। ये
- 6:02:13कॉल तो आपकी ठीक है और ये कॉल भी आपकी ठीक
- 6:02:15है। बट ये कॉल आपकी खराब है। तो या तो आप
- 6:02:19जाके चुपचाप इसको कॉस्ट बना दो। ठीक है?
- 6:02:22अब कॉस्ट बनाते ही ये एरर आ जाएगा। इसको
- 6:02:24आप यहां से हटा दो। तो अब ध्यान से देखो।
- 6:02:27यहां कोई एरर नहीं आ रहा। और अब अगर आप
- 6:02:29इसको कंपाइल करोगे
- 6:02:34तो यह कंपाइल भी हो जाएगा और रन भी हो
- 6:02:36जाएगा।
- 6:02:38ठीक है? 1 2 0 आ गया। ठीक है? और सिंपली
- 6:02:41अगर मैं 1 2 3 दे दूंगा यहां से 1 2 3
- 6:02:44देने से क्या होगा? आपकी जो z की वैल्यू
- 6:02:46डिफॉल्ट ज़ीरो सेट थी वो ज़ीरो हट जाएगी। अब
- 6:02:49वो थ्री सेट हो जाएगी। ध्यान से देखें।
- 6:02:51इसको कंपाइल करते हैं और रन करते हैं।
- 6:02:53थ्री सेट हो गई। ठीक है? तो हमें डिफ़ॉल्ट
- 6:02:55आर्गुमेंट भी समझ आ गया। और हमें ये भी
- 6:02:57समझ आ गया कि किस तरीके से आप किसी फंक्शन
- 6:02:59के अंदर अगर आपने कॉन्स्ट ऑब्जेक्ट ले
- 6:03:02लिया एक आपने कॉन्स्ट ऑब्जेक्ट ले लिया
- 6:03:05हमने यहां बाय रेफरेंस लिया है तो उसके
- 6:03:07अंदर से आप जो फंक्शन कॉल भी करोगे वो भी
- 6:03:10कोई ऐसी फंक्शन कॉल नहीं होनी चाहिए जो कि
- 6:03:13आपकी नॉन कॉन्स्ट फंक्शन कॉल हो। अगर इसके
- 6:03:17अंदर मैं कॉल करने की कोशिश करूं ना A डॉट
- 6:03:21A डॉट सेट
- 6:03:24A डॉट सेट तो ध्यान से देखो
- 6:03:27सेट 10 तो ये भी आपकी एरर देगी क्योंकि जो
- 6:03:32सेट X फंक्शन है वो एक कॉन्स्ट फंक्शन
- 6:03:35नहीं है। वो एक कॉन्स्ट मेंबर फंक्शन नहीं
- 6:03:38है। अगर मैं इसको भी कास्ट बना दूंगा और
- 6:03:41इसमें से इस लाइन को हटा दूंगा
- 6:03:45तो ये आपका चल जाएगा बढ़िया। ठीक है? तो
- 6:03:48देख रहे हो कि कितना कंपाइलर कितने
- 6:03:49स्मार्ट हो गए हैं। उसको पता है कि कॉस्ट
- 6:03:52आपने लिखा है तो किसी वजह से लिखा होगा।
- 6:03:54तो उसी हिसाब से वो आपको एरर दे रहा होता
- 6:03:56है। ठीक है? तो बहुत ही बढ़िया। यही था
- 6:03:59आपका कॉस्ट वेरिएबल के अंदर। कॉस्ट कीवर्ड
- 6:04:02के अंदर वेरिएबल बोल रहा हूं बार-बार। और
- 6:04:04और इसमें हम क्या पढ़ सकते हैं? ठीक है?
- 6:04:07अब इसमें एक और चीज देख सकते हैं कि अब आप
- 6:04:09बोलो भैया एक बात बताओ कि मेरा अगर कोई
- 6:04:11ऐसा यूज़ केस आ जाए जिसके अंदर मुझे चेंज
- 6:04:13करना हो मुझे चेंज करना हो कांस्टेंट
- 6:04:17वेरिएबल को चेंज करना हो तो हम कैसे
- 6:04:19करेंगे? तो हम कैसे करेंगे? ठीक है? सपोज़
- 6:04:22करते हैं मैं यहां पे यहां पे जो आपका
- 6:04:25आपका सेट सेट x फंक्शन था
- 6:04:29इसको मैं कॉनस्ट बना देता हूं। इसको नहीं
- 6:04:32हम गेट x को गेट x को जो आपने कॉस्ट बनाया
- 6:04:35हुआ है। अब आपका मन करे कि मैं x को यहां
- 6:04:38ना यहां पर चेंज करना चाहता हूं। अब आपको
- 6:04:41पता है आप चेंज तो कर नहीं सकते क्योंकि
- 6:04:43ये कॉस्ट वेरिएबल है। मैंने हमने क्या
- 6:04:45बोला था शुरू में? हमने शुरू में बोला था
- 6:04:47ये एक प्रॉमिस की तरह है। रियल वर्ल्ड
- 6:04:49प्रॉमिस की तरह है। और प्रॉमिससेस को आप
- 6:04:51ब्रेक कर सकते हो। रियल वर्ल्ड में भी
- 6:04:53करते ही हो। ठीक है? तो इसका मतलब कि आप
- 6:04:55किस तरीके से इसको ऐसा कर सकते हो कि यहां
- 6:04:58पे कास्ट भी रहे और मैं x को चेंज भी कर
- 6:05:00दूं। ठीक है? x को मैं चेंज भी कर दूं। और
- 6:05:03ये कब करना पड़ सकता है रियल लाइफ में? जब
- 6:05:05आप सपोज़ करो आप डीबग कर रहे हो। बहुत बड़ा
- 6:05:07प्रोजेक्ट है उसको डीबग करना चाह रहे हो।
- 6:05:09x की वैल्यू चेंज करके देखना चाहते हो। तो
- 6:05:11कैसे करोगे? सिंपली अगर मैं x को म्यूटेबल
- 6:05:15बना दूं।
- 6:05:16एक कीवर्ड होता है म्यूटेबल। अगर म्यूटेबल
- 6:05:19कीवर्ड का यूज़ करूंगा तो देखो ध्यान से x
- 6:05:21जो है 10 हो जा रहा है।
- 6:05:24x जो है 10 हो जा रहा है। तो अब ध्यान से
- 6:05:26देखो अगर मैं इसको हटा देता हूं अभी के
- 6:05:28लिए और यहां से म्यूटेबल हटा देता हूं।
- 6:05:31ठीक है?
- 6:05:33और मैं क्लियर करके इसको रन करने की कोशिश
- 6:05:35करता हूं तो आपका 1 2 3 प्रिंट होता है।
- 6:05:38ठीक है? 1 2 3 प्रिंट होता है सिंपली। और
- 6:05:41अगर मैं इसको म्यूटेट करना चाहता हूं। मैं
- 6:05:42इसको बदलना चाहता हूं। पर यह कॉन्स्ट है।
- 6:05:45कॉन्स्ट का मतलब है यह बोल रहा है कि ये
- 6:05:47फंक्शन भाई साहब कॉन्स्ट है। यह किसी भी
- 6:05:49मेंबर वेरिएबल को चेंज नहीं करेगा। तो हम
- 6:05:52इसको कैसे ओवराइड करेंगे? हम x को सिंपली
- 6:05:54यहां म्यूटेबल बना देंगे। हम जैसे ही
- 6:05:56म्यूटेबल बनाएंगे तो x का एरर हट जाएगा।
- 6:05:59पर अगर मैं अब इसको कंपाइल करूंगा और इसको
- 6:06:01रन करने की कोशिश करूंगा तो आपका x10 हो
- 6:06:04गया।
- 6:06:05ठीक है? तो इसका मतलब आप इस प्रॉमिस को जो
- 6:06:08कॉन्स्टनेस का प्रॉमिस है इसको बाईपास कर
- 6:06:10सकते हो यूजिंग दिस म्यूटेबल कीवर्ड और
- 6:06:13बहुत ही बढ़िया। आपने सिंपली कॉस्ट के
- 6:06:15अंदर ये काम कर लिया। बट एज ए गुड
- 6:06:17प्रोग्रामर एज अ गुड प्रैक्टिस यह आपको
- 6:06:19नहीं करना। म्यूटेबल कीवर्ड बस डीबगिंग
- 6:06:22पर्पस के लिए यूज़ होता है। असली में आप
- 6:06:23म्यूटेबल को यूज़ नहीं करोगे। इस तरीके से
- 6:06:26आप क्लीन कोड लिखोगे। और यह वाला एग्जांपल
- 6:06:29आपको बहुत बढ़िया समझ आया होगा। हमने क्या
- 6:06:30करा? सिंपली एक वेरिएबल लिया। उस वेरिएबल
- 6:06:34जो कि a b c टाइप का वेरिएबल है यानी कि
- 6:06:36ऑब्जेक्ट है। उस ऑब्जेक्ट को ही हमने
- 6:06:38कॉन्स्ट बनाया हुआ है। कॉन्स्ट का मतलब
- 6:06:40इसका मतलब a जब भी कॉल होगा a कोई भी ऐसा
- 6:06:44फंक्शन कॉल नहीं कर सकता जो कि नॉन
- 6:06:47कॉन्स्ट हो। सारे आपको कॉस्ट फंक्शन ही
- 6:06:50कॉल करने पड़ेंगे क्योंकि आपने बोला है a
- 6:06:54मॉडिफाई तो नहीं हो सकता। अब a मॉडिफाई
- 6:06:56नहीं हो सकता तो ए सिर्फ और सिर्फ कॉनस्ट
- 6:07:00मेथड को ही कॉल करेगा क्योंकि कॉन्स्ट
- 6:07:02मेथड आपके गारंटी करेंगे कि वहां पे कोई
- 6:07:04वेरिएबल मॉडिफाई नहीं हो रहा होगा। ठीक
- 6:07:06है? तो आई होप आपको ये चीजें समझ आई
- 6:07:09होंगी। साथ ही साथ हम एक दो चीज और पढ़ना
- 6:07:11चाहेंगे। वो क्या होगी? हम सबसे पहले
- 6:07:14पढ़ेंगे इनिशियलाइजेशन लिस्ट। ठीक है? अभी
- 6:07:16तक हमने कॉस्ट पढ़ा। हमने डिफॉल्ट
- 6:07:18आर्गुमेंट पढ़ लिया। अब हम पढ़ते हैं
- 6:07:20इनिशियलाइजेशन लिस्ट। इसका एग्जांपल है
- 6:07:24इनिशियलाइजेशन
- 6:07:28लिस्ट।
- 6:07:30अब यह क्या होती है? आप सिंपली इसको देखो।
- 6:07:34यह है आपका कंस्ट्रक्टर।
- 6:07:37कंस्ट्रक्टर को हम शॉर्ट फॉर्म में सीटर
- 6:07:40भी बोलते हैं। सीटर। तो यह आपका
- 6:07:42कंस्ट्रक्टर है। अब कंस्ट्रक्टर को यह
- 6:07:44लिखना हो गया देसी तरीका। ओल्ड तरीका। ठीक
- 6:07:47है?
- 6:07:49ओल्ड स्टाइल। अब आजकल न्यू स्टाइल क्या
- 6:07:52है? न्यू स्टाइल है आपका इनिशियलाइजेशन
- 6:07:54लिस्ट। इनिशलाइजेशन लिस्ट। अब इनिशलाइजेशन
- 6:07:56लिस्ट का मतलब क्या है? ठीक है? इसको आप
- 6:07:58हटा सकते हो। अब इसको लिखने का एक और
- 6:08:00तरीका है। एक स्पैंसी तरीका है जिसको मैं
- 6:08:03बोलता हूं इनिशियलाइजेशन
- 6:08:07लिस्ट।
- 6:08:09वो कैसे लिखेंगे? उसका सिंटेक्स होता है
- 6:08:11यानी कि सेम काम करने का तरीका है। सेम
- 6:08:13इसको करने का ये तरीका है। आप लिखोगे ए बी
- 6:08:15सी आप लिखोगे इंट x इंट y
- 6:08:25इंट z = 0 यह हमने डिफ़ॉल्ट आर्गुमेंट
- 6:08:30बनाया है। उसके बाद आप डालोगे कॉलन। कॉलन
- 6:08:33डालने के आप बोलोगे x x अब यह कौन सा x
- 6:08:37है? ये मेंबर वेरिएबल है। x ब्रैकेट x भाई
- 6:08:41तू इनिशलाइज़ हो जा अंडर x से कॉमा y ये
- 6:08:46क्या है y ये आपका मेंबर मेंबर है a b c
- 6:08:49का y है उसको आपने बोला y तू भाई
- 6:08:52इनिशियलाइज हो जा न्यू इंट
- 6:08:56y से
- 6:08:59ठीक है आपने z z को बोला भाई तू
- 6:09:02इनिशियलाइज हो जा अंडर z से और आप यह डबल
- 6:09:07यह लगा दोगे कर्ली ब्रैकेट्स। ठीक है? बस
- 6:09:11तो यह आपकी हो गई इनिशलाइजेशन लिस्ट।
- 6:09:15ये आपकी हो गई इनिशियलाइजेशन लिस्ट। अब
- 6:09:17इनिशलाइजेशन लिस्ट क्या है? वो सेम काम कर
- 6:09:19रही है जो ये काम कर रही थी। ये क्या काम
- 6:09:21कर रही थी? आपका x अंडरस् x अंडरस् y
- 6:09:24अंडरस् z एज ए आर्गुमेंट लिया और उनको आप
- 6:09:27आपने असाइन कर दिया आपने मेंबर वेरिएबल
- 6:09:29से। सेम काम ये कर रहा है। अंडरस्कोर x
- 6:09:31अंडरस् y अंडरस् z लिया और असाइन कर दिया।
- 6:09:34असाइन करने का तरीका सिंटेक्स अलग है। अब
- 6:09:37ये भी आपका सेम ही काम करेगा। सेम काम
- 6:09:39क्या है? आपका 1 2 3 प्रिंट होना चाहिए।
- 6:09:40ये 1 2 3 ही प्रिंट कर देगा। तो हमने
- 6:09:43क्लियर किया। हमने इसको कंपाइल किया। रन
- 6:09:46किया। आपका 1 2 3 प्रिंट हो गया। तो ये
- 6:09:48हुआ हो गया आपका इनिशियलाइजेशन लिस्ट।
- 6:09:50इनिशियलाइजेशन आपको आई होप समझ आ गई।
- 6:09:52सिंपली कुछ नहीं है। एक तरीका है आपका
- 6:09:56कंस्ट्रक्टर लिखने का। ठीक है?
- 6:10:00बहुत ही बढ़िया। अब बोलोगे भैया इसका यूज़
- 6:10:02क्या है? मतलब इनिशलाइजेशन का एक्स्ट्रा
- 6:10:04क्या यूज़ है? एक्स्ट्रा यही यूज़ है। अगर
- 6:10:06मैं इसको सिंपली कमेंट कर दूं और वापस से
- 6:10:08ओल्ड स्टाइल का मैं कंस्ट्रक्टर लिखूं और
- 6:10:11मैं Z को ना कॉस्ट बना दूं। ठीक है? अगर
- 6:10:14मैं Z को कॉस्ट बना दूं और इसको इनिशलाइज़
- 6:10:16नहीं कर रहा मैं अभी। तो अब ध्यान से देखो
- 6:10:18इस ओल्ड स्टाइल के कंस्ट्रक्टर के अंदर
- 6:10:21आर्गुमेंटेड कंस्ट्रक्टर के अंदर एक एरर आ
- 6:10:23गया है। वो एरर क्या है कि भाई Z जो है ना
- 6:10:26वो मॉडिफायबल एल वैल्यू होनी चाहिए। यानी
- 6:10:29कि z आपने कॉस्ट डिक्लेअर करा है और आप
- 6:10:32इसको यहां पर इनिशियलाइज नहीं कर पा रहे।
- 6:10:35ठीक है? क्यों? क्योंकि आप क्या बोलते हो?
- 6:10:38कॉस्ट वेरिएबल्स क्या होते हैं? आप कॉस्ट
- 6:10:40वेरिएबल्स को इनिशियलाइज करने के बाद
- 6:10:42दोबारा से रीशलाइज रीअसाइन नहीं कर सकते।
- 6:10:45यहां पर सिंपल पुराने स्टाइल के जो आपका
- 6:10:48कंस्ट्रक्टर है उसके अंदर ये रीअसाइन हो
- 6:10:50रहा है। यह इनिशियलाइज़ यहीं पे हो चुका
- 6:10:52है। तो यानी कि ये वर्क नहीं कर सकता। तो
- 6:10:54अब आप बोलोगे भैया मैं z को जीरो जीरो से
- 6:10:57इनिशलाइज करना चाहता था। यह कैसे करूं? तो
- 6:11:00इसका सिंपल तरीका है। अगर मैं इसको
- 6:11:02इनिशलाइजेशन लिस्ट से करूंगा तो यह हो
- 6:11:04जाएगा। इनिशलाइजेशन लिस्ट से लिस्ट से
- 6:11:06करूंगा तो यह हो जाएगा। ठीक है? तो यानी
- 6:11:10कि अगर मैं ओल्ड स्टाइल से कर रहा था।
- 6:11:13मैंने इसको कमेंट किया। मैं ओल्ड स्टाइल
- 6:11:15से जब कर रहा था ओल्ड स्टाइल से कॉस्ट z
- 6:11:19जो है कॉनस्ट वेरिएबल था। तो z को मॉडिफाई
- 6:11:21मैं नहीं कर पा रहा था। सिंपली यहां पे
- 6:11:24एरर दिख ही रहा है आपको। अगर मैं क्लियर
- 6:11:25करके यहां पे इसको कंपाइल करूंगा। सिंपली
- 6:11:30एरर आ गया आपका। आपका तरीका क्या है? आप
- 6:11:32एक इंस्टॉलेशन लिस्ट अगर यूज़ करोगे तो
- 6:11:35इसमें ये काम हो जाएगा।
- 6:11:46इसमें काम कर गया। ठीक है? अब इसमें इसका
- 6:11:49कर्ली ब्रैकेट का क्या का क्या काम होता
- 6:11:51है? आप सिंपली इसको एक्सपेंड कर सकते हो
- 6:11:53और यहां पर कुछ लिख सकते हो
- 6:11:56इनट
- 6:11:59लिस्ट
- 6:12:03लिख सकते हो या फिर आप बोल सकते हो यहां
- 6:12:05पे अब मैं y को आप रीसाइन कर सकते हो
- 6:12:09दोबारा से y को मान लो मैं बोल दूं अब कि
- 6:12:11भाई y 2 नहीं है 2 है जो भी स्टार y है
- 6:12:18मल्टीप्लाई 10
- 6:12:21ठीक है? तो, अब यह कैसे वर्क करेगा? शुरू
- 6:12:24में इनिशलाइजेशन लिस्ट चलेगी। उसने इन तीन
- 6:12:26वेरिएबल्स को उठाया और इनको उठा के असाइन
- 6:12:29कर दिया। फिर आपने यानी कि सबसे पहले ये
- 6:12:31एग्जीक्यूट होगा और उसके बाद ये आके
- 6:12:33एग्जीक्यूट होगा। आपने y को रीअसाइन कर
- 6:12:35दिया। अब अगर मैं इसको चला के देखूं
- 6:12:40तो आपको y 20 आ रहा है। क्यों? क्योंकि
- 6:12:42आपने यहां पे रीइशलाइज़ कर दिया इसको। बट
- 6:12:44ध्यान से देखो। यहां पे मैं किसी भी कॉन्स
- 6:12:46वेरिएबल को रीसाइन नहीं कर पाऊंगा। अगर
- 6:12:48मैं z को tan लिख दूं z नहीं हो पाएगा।
- 6:12:50क्यों? क्योंकि z एक कास्ट वेरिएबल था और
- 6:12:52कॉनस्ट वेरिएबल एक ही बार असाइन होगा।
- 6:12:55यानी कि एक ही बार इनिशलाइज होगा। यहां पे
- 6:12:56इनिशलाइज़ हो गया। इसीलिए मैं इसको
- 6:12:58इनिशियलाइजेशन लिस्ट कहता हूं। यहां पे
- 6:13:00इनिशियलाइजेशंस हो रही हैं। ठीक है? इसलिए
- 6:13:02मैं यहां पे किसी कॉन्स्ट वेरिएबल को भी
- 6:13:03इनिशलाइज़ कर पा रहा हूं। और मैं यहां पर
- 6:13:05ये नहीं कर पा रहा था। मैंने इसको
- 6:13:07इनिशलाइज़ किया इनिशलाइज़ करके। बट मैं यहां
- 6:13:09पर इसके अंदर इसको री असाइन नहीं कर सकता।
- 6:13:12तो ये नहीं चलेगा। ठीक है? तो आई होप आपने
- 6:13:16चीजें समझी होंगी। क्या-क्या चीजें समझी
- 6:13:18होंगी? सबसे पहले आपने समझा होगा कॉस्ट
- 6:13:19कीवर्ड। ठीक है? फिर आपने समझा होगा आपका
- 6:13:22एल वैल्यू। R वैल्यू क्या होता है? ठीक
- 6:13:24है? उसके बाद आप कॉस्ट क्यों यूज़ करते हो
- 6:13:28ताकि कोड जो है आपका मतलब का दिखे। यानी
- 6:13:31कि कोड के अंदर एक रीडेबिलिटी हो कि यार
- 6:13:34ये वेरिएबल्स कांस्टेंट है। तो ये
- 6:13:36कांस्टेंट रहनी चाहिए। तो जब बहुत बिगर
- 6:13:38पिक्चर में आप प्रोजेक्ट को देखते हो आप
- 6:13:40किसी को कांस्टेंट बनाना चाहते हो।
- 6:13:42कांस्टेंट रह रहे रहना रखना चाहते हो तो
- 6:13:44आप कास्ट बना देते हो। तो इस बेसिस पे
- 6:13:47कंपाइलर क्या करता है? सर्टेन लेवल
- 6:13:48ऑप्टिमाइजेशन करता है। कॉस्ट को सबको रीड
- 6:13:50ओनली स्पेस में डाल देता है और उससे उनका
- 6:13:52एक्सेस भी फास्टर हो जाता है। ठीक है?
- 6:13:55दूसरा आप अगर किसी ऑब्जेक्ट को कॉस्ट बना
- 6:13:59देते हो तो उस ऑब्जेक्ट पे वो वही
- 6:14:01फंक्शनंस कॉल कर सकता है जो कॉनस्ट है।
- 6:14:03इससे क्या गारंटी मिलती है कि आप जब भी
- 6:14:06प्रिंट ए बी सी कॉल करोगे तो ए बी सी के
- 6:14:09अंदर कोई भी ऐसा काम नहीं होगा कि आपका a
- 6:14:13वेरिएबल चेंज हो जाए। ए ऑब्जेक्ट चेंज हो
- 6:14:16जाए। ऐसा नहीं होगा। आप ऐसे ही करना चाहते
- 6:14:18हो। आप यहां पर प्रिंट एबीसी लिख रहे हो
- 6:14:20ना। इसका काम क्या है? प्रिंट करना। अब
- 6:14:22इसका काम क्योंकि प्रिंट करना है। तो आप
- 6:14:24नहीं चाहते आपका A जो है मॉडिफाई हो कुछ
- 6:14:26भी। इसलिए ये सारे वही वाले फंक्शन कॉल कर
- 6:14:28रहा है जो सारे कॉन्स्ट हैं। अगर मैं इसको
- 6:14:30यहां से कॉन्स्ट हटा देता हूं तो ये
- 6:14:32सिंपली एरर देने लग जाता है। ये एरर आ गया
- 6:14:34यहां पे। है ना? ठीक है? अब एक और चीज
- 6:14:38पढ़ते हैं।
- 6:14:40एक और चीज पढ़ते हैं फटाफट। हां। हां और
- 6:14:43हमने क्या पढ़ा था? और हमने पढ़ा था
- 6:14:45इनिशलाइजेशन लिस्ट। इनिशलाइज लिस्ट आपने
- 6:14:47हमने समझी ये न्यू स्टाइल ऑफ कंस्ट्रक्टर
- 6:14:49राइटिंग है। इसके अंदर हम इनिशलाइजेशन
- 6:14:51लिस्ट लिखते हैं। इसको इनिशलाइजेशन लिस्ट
- 6:14:52बोलते हैं। इसके अंदर मैं मेरा फायदा क्या
- 6:14:54होता है? मैं कॉन्स्ट वेरिएबल्स को भी
- 6:14:55इनिशलाइज़ कर पाता हूं। पर एक बार जब मैं
- 6:14:58यहां पे इनिशलाइज़ कर पाता हूं तो यहां पर
- 6:14:59नॉर्मल कंस्ट्रक्टर की तरह यहां पर यहां
- 6:15:01पर मैं कुछ उस कॉन्स्ट वेरिएबल्स को
- 6:15:03रीइशलाइज़ नहीं कर सकता। ठीक है? बहुत ही
- 6:15:05बढ़िया। अब आगे क्या समझते हैं हम? आगे
- 6:15:08समझते हैं मैक्रोस क्या होते हैं?
- 6:15:13मैकस क्या होते हैं? फटाफट से देखते हैं।
- 6:15:16मैक्रोस होते हैं इन C++। C++ क्या है?
- 6:15:19मैक्रोस आर प्री प्रोसेसर डेरिवेटिव्स।
- 6:15:21प्रीपेशर डेरिवेटिव क्या होता है? एक बार
- 6:15:24थोड़ी देर में समझेंगे। दैट अलाउ यू टू
- 6:15:26डिफाइन कॉन्स्टेंट फंक्शनंस और कोड
- 6:15:28स्निपिड दैट कैन बी यूज़्ड थ्रू आउट योर
- 6:15:31कोड। ठीक है?
- 6:15:33दे आर टिपिकली डिफाइंड यूजिंग हैश डिफाइन
- 6:15:36डेरिवेटिव
- 6:15:38डायरेक्टिव हैज डिफाइन डायरेक्टिव एंड आर
- 6:15:40इवैल्यूएटेड बाय प्री प्रोसेसर बिफोर द
- 6:15:43कोड इज़ कंपाइल ठीक है बहुत सारी चीज़ लिखी
- 6:15:45हुई है बहुत सारी चीज़ लिखी हुई है सिंपली
- 6:15:47हम समझेंगे एग्जांपल से बहुत ही अच्छे से
- 6:15:49समझ आएगा एग्जांपल लेते हैं मैक्रोसcp अब
- 6:15:53समझते हैं मैक्रोस क्या होता है यहां पे
- 6:15:54क्या-क्या वर्ड्स आए हैं सबसे पहले आया
- 6:15:56प्रीपर
- 6:16:01दूसरा आया हैश डिफाइन फाइन।
- 6:16:05ठीक है? अब प्रीपर क्या होता है? आपका जो
- 6:16:09कोड होता है वो कैसे चलता है?
- 6:16:12आपने कुछ टेक्स्ट लिखा है। टेक्स्ट क्या
- 6:16:15है? आपका कोड है। है ना? वो क्या होता है?
- 6:16:17कंपाइल होता है।
- 6:16:21कंपाइल हो के आपका मशीन कोड बनता है।
- 6:16:26उससे एग्जीक्यूटेबल बनाते हो। एग्जीक्यूट
- 6:16:28कर देते हो कोड को। है ना?
- 6:16:31बहुत ही बढ़िया। यानी कंपाइलर आपके
- 6:16:33टेक्स्ट को रीड करता है और कुछ-कुछ काम
- 6:16:35करता है। ठीक है? तो अगर मैं सिंपली बोलूं
- 6:16:39सिंपली बोलूं
- 6:16:41कि
- 6:16:42प्री प्रोसेसिंग का मतलब क्या होता है? कि
- 6:16:45आपका कंपाइलर जब कंपाइल कर रहा होता है वो
- 6:16:48आपके पूरे कोड को पढ़ता है। वह शुरू से
- 6:16:50पूरे कोड को पढ़ पढ़ना शुरू करता है। अब
- 6:16:52पढ़ते हुए वह क्या करता है? है थ्रू आउट
- 6:16:54कोड को पढ़ता है और जहां-जहां पे आपका हैश
- 6:16:57डिफाइन करके कुछ रखा है ना उनको उठा के उन
- 6:17:00को उठा के प्री प्रोसेस करता है और प्री
- 6:17:02प्रोसेस करके कोड में जहां-जहां हैश
- 6:17:04डिफाइन यूज़ होता है उसको उठा के रिप्लेस
- 6:17:07कर देता है। ठीक है? फटाफट से एग्जांपल से
- 6:17:09समझते हैं तो अच्छे से समझ आएगा हमें।
- 6:17:11मैंने बोला कि मैं एक फंक्शन लिख रहा हूं।
- 6:17:13वह क्या करता है?
- 6:17:18सर्कल का
- 6:17:20एरिया निकालता है। वो क्या करेगा? एक
- 6:17:24रेडियस लेगा r और रिटर्न करेगा
- 6:17:303.14 * r * r
- 6:17:36यह रिटर्न करेगा।
- 6:17:42बहुत ही बढ़िया।
- 6:17:49आप सिंपली रन कर दोगे सर्कल एरिया आपने
- 6:17:53इसमें देखा 76.94
- 6:18:00और आप इसको सिंपली कंपाइल कर देते हो।
- 6:18:07ठीक है? ये आपका एरिया आ गया। अब ध्यान से
- 6:18:09देखो। आपने यहां पे एक कांस्टेंट लिखा है।
- 6:18:11ठीक है? आप क्या कर सकते थे? इस कांस्टेंट
- 6:18:14को उठा के एक मैक बना देते।
- 6:18:18मैक कैसे बनता है? मैक बनता है। आप लिखते
- 6:18:20हो# डिफाइन
- 6:18:24पाई।
- 6:18:26पाई को आपने डिक्लेअ कर दिया 3.14159265
- 6:18:32ला ब्ल ठीक है। इतना लिख दिया आपने। अब आप
- 6:18:35इस पाई को ना कहीं भी कोड में यूज़ कर सकते
- 6:18:37हो।
- 6:18:40इसका मतलब आपने क्या बोला था? था। पहले
- 6:18:42आपने 3.15 ऐसा कुछ लिखा था। अब सपोज़ करो
- 6:18:44आपने ऐसे इस सर्कल एरिया लिखा होता। फिर
- 6:18:47आपने लिखा होता
- 6:18:49सर्कल का
- 6:18:54पेरीमीटर।
- 6:18:56पैरामीटर क्या होता है इसका? भूल गया मैं।
- 6:18:582 * πr होता है। शायद हां 2πr होता है। है
- 6:19:01ना? ये होता है। अब पहले नॉर्मली आप क्या
- 6:19:04करते हैं? यहां भी 3.14 कुछ-कुछ लिखते।
- 6:19:07आपने क्या करा? इन सबको आपको पता है कॉमन
- 6:19:09है। तो आपने उठा के एक मैक बना दिया। ठीक
- 6:19:12है? अब मैक क्या है? मैक कुछ भी नहीं है।
- 6:19:15यह आपका है ना ये सिंपली आपको दिख रहा है
- 6:19:18कि यहां पे आपने मै पाई लिखा हुआ है। बट
- 6:19:20जब कंपाइलर क्या करेगा ना? इसको कंपाइल
- 6:19:22करेगा ना पूरा कंपाइलर इसको पूरा कंपाइल
- 6:19:24करेगा। तो कंपाइल करते हुए पता है क्या
- 6:19:27करेगा? इस कोड को उठाएगा पढ़ेगा। वह
- 6:19:29देखेगा अच्छा
- 6:19:31कंपाइल करने से पहले ना आपका एक स्टेप
- 6:19:33होता है। यहां पे यहां पर एक स्टेप होता
- 6:19:35है। इसको बोलते हैं प्री
- 6:19:38प्रोसेसिंग
- 6:19:40और कंपाइलर में एक टूल होता है प्री
- 6:19:42प्रोसेसर। वह यह काम करता है। वह क्या
- 6:19:44करता है? जितने भी आपके हैश डिफाइन लिखे
- 6:19:46हैं ना जितने भी मैक्रोस लिखे हैं उनको
- 6:19:48उठा के रिप्लेस कर देता है। वो क्या करता
- 6:19:49है? सिंपली इसको उठाएगा। यहां से इसको हटा
- 6:19:52देगा। इसको हटा दो भाई साहब। नहीं पहले
- 6:19:55इसको कॉपी करो।
- 6:19:57इसको यहां से हटा दो। कंपाइलर कर रहा है
- 6:19:59यह। इसको यहां से हटा दो। और जहां-जहां
- 6:20:01पाई लिखा है ना वहां पर 3.14 चिपका दो।
- 6:20:07ठीक है? आपने चिपका दिया। अब उठा के इस
- 6:20:09कोड को उठा के यह कंपाइल कर देगा। तो
- 6:20:11कंपाइलर के अंदर कंपाइल करते हुए एक स्टेप
- 6:20:13होता है कंपाइल से पहले प्रीपिंग।
- 6:20:16प्रीपेसिंग कौन करता है? प्रीपर। प्रीपेसर
- 6:20:18क्या करता है? जितने भी हैश डिफाइन उठाए
- 6:20:20हैं, हैश डिफाइन लिखे हैं, उनको उठा के
- 6:20:22रिप्लेस कर देता है। सिंपली डंबली उठा के
- 6:20:25रिप्लेस कर देता है। यह हमने यहां पे लिखा
- 6:20:26है। दे टिपिकली डिफाइन यूजिंग हैश डिफाइन
- 6:20:29एंड आर इवैलुएटेड बाय प्रीपसेसर बिफोर द
- 6:20:31कोड इज़ कंपाइल्ड। सिंपली उठा के रिप्लेस
- 6:20:34कर देता है। ठीक है? अब आप बोलोगे भैया
- 6:20:35रिप्लेस कर देता। फायदा क्या है? फायदा ये
- 6:20:37है ना कि आपकी रीडेबिलिटी बढ़ी ना। आपने
- 6:20:41यहां पाई लिखा तो आपकी रीडिबिलिटी बढ़ गई
- 6:20:42ना। अब सपोज़ करो आपको पाई की वैल्यू यही
- 6:20:45नहीं यूज़ करनी थी। आपको यूज़ करनी थी। सपोज़
- 6:20:47करते हैं 3.14 नहीं है। आपको 3.15 यूज़
- 6:20:50करनी थी। सपोज़ करते हैं। तो आपने उठा के
- 6:20:52एक जगह 3.15 लिखा और सब जगह 3.15 हो गया।
- 6:20:55ठीक है? तो यानी पाई कुछ नहीं है। ये कोई
- 6:20:57वेरिएबल नहीं है। इसको मैं कोई वेरिएबल
- 6:20:59नहीं बोलूंगा। ये कोई स्पेस भी नहीं ले
- 6:21:01रहा है मेमोरी में। कुछ नहीं ले रहा है
- 6:21:03आपका सिंपली प्री प्रोसेसिंग स्टेप पे
- 6:21:05क्या करेगा यह यह उठा के इसको उठाएगा यहां
- 6:21:09से वो देखेगा अच्छा पाई क्या हैज़ डिफाइन
- 6:21:11ओके हैज़ डिफाइन मतलब प्री प्रोसेसिंग करनी
- 6:21:14है इसकी यानी कंपाइल से पहले प्रीपिंग
- 6:21:16करनी है वो उठाएगा 3.14 को उठाते हैं और
- 6:21:19इसको यहां से हटा देते हैं क्योंकि
- 6:21:21वेरिएबल तो है नहीं और जहां-जहां पाई लिखा
- 6:21:23है वहां पे 3.15 चिपका देते हैं खत्म ये
- 6:21:25आपका प्रीपर करता है ठीक है और सिंपली
- 6:21:29दूसरा क्वेश्चन कि भाई ये क्यों काम आ रहा
- 6:21:31है आपके कोड की रीडेबिलिटी बढ़ा रहा है।
- 6:21:33ठीक है? तो, यह आपका हो गया मैक्रोस का
- 6:21:35काम। दूसरा और एक तरीके से और क्या लिख
- 6:21:37सकता हूं मैं? मैक को। मैक को आप ऐसे भी
- 6:21:39डिफाइन कर सकते हो। सपोज़ करते हैं मैं
- 6:21:40मैंने ऐसे लिखा मैक्स है। और हम कोशिश
- 6:21:43करते हैं मैक्रो ना कैपिटल में लिखें ताकि
- 6:21:45रीडेबिलिटी अच्छी रहे। मैक्स आपने इसमें
- 6:21:47आर्गुमेंट लिए x और y
- 6:21:51आपने बोला x अगर ग्रेटर दैन हुआ y के तो
- 6:21:54आप x रिटर्न कर दो। एल्स y रिटर्न कर दो।
- 6:22:00ठीक है? है और सपोज़ करते हैं आपने यहां पे
- 6:22:05फंक्शन लिखा है फन
- 6:22:11आपने यहां इंट X लिया है आपका सिक्स
- 6:22:14इंट B लिया है आपका 17 अब आप एक और
- 6:22:19वेरिएबल ले रहे थे C और आप आपने वो
- 6:22:22वेरिएबल लिया था कि आप सिक्स और से में से
- 6:22:24मैक्स निकालना चाहते हो तो आप सिंपली इसको
- 6:22:26ऐसे कर सकते हो मैक्स आप पहले नॉर्मली
- 6:22:29क्या कर सकते थे नॉर्मली आप ये कर सकते थे
- 6:22:30कि भाई x आप ऐसे लिख देते टर्नरी ऑपरेटर
- 6:22:33भाई x >
- 6:22:35अगर है b से
- 6:22:38तो x लिख दो वरना b लिख दो ये लिखते आप अब
- 6:22:41सपोज़ करो ऐसे ही फन होता आपका ऐसे ही आपने
- 6:22:44एक और एक और वेरिएबल बना एक और फंक्शन
- 6:22:46होता आपका फन टू ठीक है ऐसे एक और वेरिएबल
- 6:22:49होता आपका फन थ्री इसको टू लिख देते हैं
- 6:22:53तो आप सब में ना सपोज़ करते हैं सब में
- 6:22:55ऐसा-ऐसा कुछ-कुछ सेम ही काम हो रहा होता
- 6:22:57तो आपको हर बार ये ये लिखना पड़ता टर्नरी
- 6:22:59ऑपरेटर तो इससे इससे बेटर आप एक काम कर
- 6:23:01सकते थे। हमने उठा के इसका मैक बना दिया।
- 6:23:03अब क्योंकि इसका मैक बना दिया। हम यहां
- 6:23:05लिख सकते हैं सिंपली मैक्स
- 6:23:10x b
- 6:23:13ठीक है? सपोज़ करते हैं x y था।
- 6:23:17तो हम यहां सिंपली क्या लिखते हैं? मैक्स
- 6:23:22x y
- 6:23:25ठीक है? और यहां पर सपोज करते हैं आपका
- 6:23:27यहां a और b था।
- 6:23:30यहां क्या लिखते हैं? मैक्स
- 6:23:33a b ठीक है? तो आप ध्यान से देखो। सेम
- 6:23:36रविज़िबिलिटी करी हमने। हमने मैक्रो का यूज़
- 6:23:39किया और उस मै में ऐसे टर्नरी ऑपरेटर लिख
- 6:23:41दिया और हमने सिंपली हर जगह फिर मैक्स ही
- 6:23:43लिख दिया। अब देखो इससे कोड की रिडीबिलिटी
- 6:23:45भी बड़ी है। अब मुझे हर बार टर्निंग ऑपरेटर
- 6:23:47नहीं लिखना पड़ रहा और आपका काम भी हो जा
- 6:23:50रहा है। ठीक है? अब ध्यान से देखो। मैं
- 6:23:51होवरवे करूंगा तो ये क्या लिख रहा है?
- 6:23:53एक्सपेंड्स टू दिस। इसका मतलब कंपाइलर जब
- 6:23:57भी आप कंपाइल करोगे कंपाइलर के अंदर
- 6:23:59प्रीपेर आएगा। प्रीपेर उठा के ना क्या
- 6:24:02करेगा? अच्छा यहां पे क्या लिखा हुआ है?
- 6:24:05ओके पाई लिखा हुआ है। तो सबसे पहले इसको
- 6:24:07हटाएगा यहां से। इसको गोली करेगा और हर
- 6:24:10जगह 3.14 लिख देगा।
- 6:24:15ठीक है? फिर आगे देखा। ओके? मैक्स है।
- 6:24:17मैक्स के अंदर ये ये ऐसे लिखना होता है
- 6:24:19इसको। तो ये क्या करेगा? सिंपली इसको भी
- 6:24:21यहां से हटाएगा।
- 6:24:23इसको भी यहां से हटाएगा मैक्स को और
- 6:24:25जहां-जहां पर मैक्स लिखा था वहां पर ऐसे
- 6:24:28लिख देगा x > b अगर है तो x लिख दो वरना b
- 6:24:33लिख दो
- 6:24:35ये प्री प्रोसेसर कर रहा है आके यहां से
- 6:24:37भी इसको भी हटाएगा बोलेगा a > b तो a लिख
- 6:24:41दो वरना b लिख दो यहां पे भी आएगा हटाएगा
- 6:24:44इसको x > y
- 6:24:48तो x लिख दो y लिख दो सिंपली
- 6:24:52तो यानी कि आपने एक्चुअली कोड तो ऐसा ही
- 6:24:55लिखा हुआ है। बट आपने कोड की रीडेबिलिटी
- 6:24:57बढ़ाने के लिए आपने अपना उठा के वहां पे
- 6:24:58मैक्स लिख दिया
- 6:25:01और यहां पे पाई लिख दिया।
- 6:25:05ठीक है? तो सिंपली ये देखो ध्यान से। ये
- 6:25:07यहां पे यही बोल रहा है कि एक्सपेंड्स टू
- 6:25:08दिस। आपने सिंपली इसको एक्सपेंड कर दिया।
- 6:25:10एक्सपेंड करके लिखा है। आपने इसको
- 6:25:12एक्सपेंड करके नहीं लिखा हुआ। आपने इसको
- 6:25:14एक एक मैक में लिखा हुआ है। कंपाइलर आके
- 6:25:17कंपाइलर का प्रीपर आके इसको एक्सपेंड कर
- 6:25:19देगा। ठीक है? तो यानी कि यह अगर यह लिखा
- 6:25:22है यह लिखा है
- 6:25:26और अगर मैं
- 6:25:30ये लिख दूं
- 6:25:32x > b
- 6:25:35x है वरना b है। तो लॉजिकली ये लाइन और ये
- 6:25:41लाइन सेम ही है। क्यों? क्योंकि जब
- 6:25:43कंपाइलर आएगा उसका प्रीपर आएगा वो इस
- 6:25:46मैक्स वाली चीज को उठाकर इससे रिप्लेस कर
- 6:25:50देने वाला है बिफोर एक्चुअल कंपाइलिंग।
- 6:25:53ठीक है? तो ये दोनों लाइनें लॉजिकली सेम
- 6:25:55है। मैक का काम सिर्फ कितना है ताकि आपकी
- 6:25:58रीडेबिलिटी बढ़ी रहे। आपको आपको
- 6:26:00रीयूज़बिलिटी रहे कोड की। आप बार-बार
- 6:26:01बार-बार मैक्स यूज़ करो। आप बार-बार आपको
- 6:26:03टर्न एरो ऑपरेटर वाला लिखना ना पड़े। ठीक
- 6:26:05है? तो आई होप आपको मैक समझ आया होगा।
- 6:26:07होगा। मैक्रो का काम सिंपल ही है। कुछ
- 6:26:08नहीं है। उसका पर्पस यही है कि आप जैसे कि
- 6:26:12यहां लिखा है हमने। मैक कैन बी यूज़
- 6:26:14वैरायटी ऑफ़ पर्पस सच ऐ डिफाइनिंग
- 6:26:16कांस्टेंट्स। कांस्टेंट डिफाइन कर सकते हो
- 6:26:17आप। आपने कांस्टेंट डिफाइन कर दिया। और
- 6:26:20क्रिएटिंग शॉर्टहड ऑफ कॉमनली यूज़्ड
- 6:26:22एक्सप्रेशन। आप मैक्स को हर जगह यूज़ कर
- 6:26:24रहे हो। है ना? आप इस वाले टर्नरी ऑपरेटर
- 6:26:26को मैक्स निकालना था। आपको X और a और दो
- 6:26:29वेरिएबल्स के बीच में मैक्स निकालना था।
- 6:26:30आप ये हर बार यूज़ कर रहे हो। तो आपने
- 6:26:32बार-बार इसको टर्नरी ऑपरेटर ना लिखने की
- 6:26:34जगह। आपने इसको उठा के एक इसका मैक बना
- 6:26:37दिया और आप उस मै को यूज़ कर रहे हो। ठीक
- 6:26:39है? कंपाइलर क्या कर रहा है? लॉजिकली इसी
- 6:26:41को ही उठाकर अ टर्नरी टर्नरी से रिप्लेस
- 6:26:44कर देता है बिफोर एक्चुअल कंपाइलिंग। ठीक
- 6:26:46है? तो आई होप आपको मैक भी समझ आया होगा।
- 6:26:49आपको कॉस्ट कीवर्ड समझ आए होंगे। कॉस्ट
- 6:26:51कीवर्ड के काम समझ आया होगा। कॉस्ट हमने
- 6:26:53देखा कॉस्ट पॉइंटर्स के साथ तीन टाइप के
- 6:26:55होते हैं। जिसके अंदर डेटा कांस्टेंट रहता
- 6:26:57है। पॉइंटर कांस्टेंट नहीं रहता। पॉइंटर
- 6:26:58कांस्टेंट रहता है डेटा कांस्टेंट नहीं
- 6:27:00रहता। पॉइंटर डेट दोनों कांस्टेंट रहते
- 6:27:02हैं। और हमने देखा कॉनस्ट मेंबर फंक्शन
- 6:27:06क्या होते हैं? इसके अंदर आप किसी भी
- 6:27:08मेंबर वेरिएबल को चेंज नहीं कर सकते। इवन
- 6:27:11अगर आपने कोई कांस्टेंट ऑब्जेक्ट बना दिया
- 6:27:14तो उसके अंदर भी आप किसी ऐसे फंक्शन को
- 6:27:17मेथड को कॉल नहीं कर सकते जो कि नॉन
- 6:27:18कॉनस्ट हो। क्योंकि नॉन कॉन्स्ट क्या
- 6:27:21करेगा? हो सकता है वो मेंबर वेरिएबल को
- 6:27:23चेंज कर दे। अगर मेंबर वेरिएबल को चेंज कर
- 6:27:25देगा तो a कॉन्स्ट नहीं रहेगा। तो इसलिए
- 6:27:27ये आपका कंपाइल आपका जो C++ है उसको कॉल
- 6:27:30भी नहीं करने देता। ठीक है? ठीक है? फिर
- 6:27:32हमने देखा भाई इनिशलाइजेशन लिस्ट क्या
- 6:27:33होती है? इनिशलाइजेशन लिस्ट का मेन फायदा
- 6:27:35क्या होता है कि आप कॉन्स्ट वेरिएबल्स को
- 6:27:37भी इनिशलाइज़ कर सकते हो। ओल्ड स्टाइल के
- 6:27:38अंदर आप कॉन्स्ट वेरिएबल को इनिशलाइज़ नहीं
- 6:27:40कर सकते थे। यहां पे नहीं होता है ये। है
- 6:27:42ना? हमने देखा था इनिशलाइज लिस्ट में आप
- 6:27:45कर सकते हो। ठीक है? तो आई होप आपको ये
- 6:27:47सारी चीज़ समझ आई होंगी। साथ ही साथ एक और
- 6:27:49चीज़ हमने पढ़ी थी। डिफ़ॉल्ट आर्गुमेंट।
- 6:27:50डिफ़ॉल्ट आर्गुमेंट क्या होता है? ये
- 6:27:52डिफ़ॉल्ट आर्गुमेंट हमेशा राइट मोस्ट में
- 6:27:54लिखा जाता है। आप बीच में ऐसे नहीं लिख
- 6:27:56सकते। आप इसको इक्वल टू ज़ीरो करके नहीं
- 6:27:58लिख सकते। ठीक है? ये एरर देगा हमेशा।
- 6:28:01डिफ़ॉल्ट आर्गुमेंट राइट मोस्ट होते हैं।
- 6:28:03डिफ़ॉल्ट आर्गुमेंट क्या है? कि अगर आप
- 6:28:06राइट मोस्ट आर्गुमेंट में कुछ दोगे कॉल
- 6:28:09करते हुए कॉल करते हुए अगर आप 1 2 3 दे
- 6:28:11रहे हो तो ठीक है। वो z को ज़ीरो की जगह
- 6:28:14ज़ीरो की जगह z को थ्री ले लेगा। अंडरस् Z
- 6:28:16को थ्री ले लेगा। बट अगर आप नहीं भी देते
- 6:28:18हो इसको नहीं देते हो तो कोई एरर नहीं
- 6:28:20आएगा। वो X को वन ले लेगा। Y को टू ले
- 6:28:23लेगा। अंडरस्कोर X को वन ले लेगा। अंडरस्
- 6:28:26Y को टू ले ले ले ले ले ले ले ले ले ले
- 6:28:26लेगा और z को ज़ीरो अ्यूम कर लेगा। तो ये
- 6:28:29होते हैं आपके डिफ़ॉल्ट आर्गुमेंट्स। ठीक
- 6:28:30है? तो आई होप आपको ये सारी चीजें समझ आई
- 6:28:32होंगी। मिलती हैं ऐसे ही किसी नेक्स्ट
- 6:28:34वीडियो में। तब तक के लिए गुड बाय। इस
- 6:28:35वीडियो में देखने वाले हैं स्टैटिक
- 6:28:36कीवर्ड। क्लासेस के अंदर स्टैटिक कीवर्ड
- 6:28:39क्या काम करता है? स्टैटिक डेटा मेंबर
- 6:28:42क्या होते हैं? और स्टैटिक मेंबर फंक्शनंस
- 6:28:44क्या होते हैं? ठीक है? बट इसको समझने से
- 6:28:47पहले हम सिंपली एक बार थोड़ी सी बात
- 6:28:49करेंगे नॉर्मल क्लासेस के बारे में। C++
- 6:28:52में क्लासेस के बारे में बात करेंगे।
- 6:28:54क्लासेस क्या होती हैं? आप एक क्लास बनाते
- 6:28:56हो। एक बंडल बनाते हो। एक बंडल ऑफ कस्टम
- 6:28:59डेटा मेंबर्स एंड डेटा वेरिएबल्स बनाते हो
- 6:29:01और आप हर क्लास के कुछ इंस्टेंस बनाते हो।
- 6:29:05इंस्टेंस को हम क्या बोलते हैं?
- 6:29:06ऑब्जेक्ट्स।
- 6:29:08ऑब्जेक्ट्स भी बोल देते हैं। एक ही क्लास
- 6:29:11का इंस्टेंस A बनता है। फिर B बनता है या
- 6:29:14फिर मैं बोलूं A भी नहीं। मैं X बोलता
- 6:29:16हूं। एक Y बनता बोल सकता हूं। एक Z बोल
- 6:29:19सकता हूं। यानी कि एक ही क्लास है। उसके
- 6:29:21बहुत सारे इंस्टेंस बनाए यहां पे। ठीक है?
- 6:29:23तो अगर मैं सिंपल सा एक एग्जांपल लूं।
- 6:29:25मैंने क्लास बनाई
- 6:29:28ABC
- 6:29:34इंट X
- 6:29:36X
- 6:29:38नहीं इंट X बनाया मैंने एक Y बनाया
- 6:29:46प्रिंट कर दिया मैंने
- 6:29:56यहां पे हमने प्रिंट कर दिया आपके x को
- 6:29:59स्पेस डाला y को प्रिंट कर दिया दैट्स इट
- 6:30:03ठीक है आपने क्लास बनाई सिंपली आपने एबी
- 6:30:06सी बोला
- 6:30:08अब आपने एक ऑब्जेक्ट बनाया ओबीj वन
- 6:30:12आपने एक ऑब्जेक्ट बनाया ओबीj2
- 6:30:16ठीक ठीक है और आपने बोला कि ओबीजे के
- 6:30:20में मैं वन और टू डाल देता हूं
- 6:30:28और ओबीj टू के अंदर मैं
- 6:30:31फोर और फाइव डाल देता हूं।
- 6:30:36मैं ओबीj वन का प्रिंट कॉल कर देता हूं।
- 6:30:41फिर ओबीj2 का भी
- 6:30:44मैं प्रिंट कॉल कर देता हूं।
- 6:30:49ठीक है? कोई बड़ा काम नहीं किया अभी तक
- 6:30:52हमने। सिंपली हमने क्लासेस देखी है भाई
- 6:30:54कैसे चलती हैं क्लासेस। इसको प्रिंट
- 6:30:56करेंगे हम। तो आपका क्या-क्या प्रिंट हुआ?
- 6:30:59इसको पहले मैं क्लियर कर देता हूं एक बार।
- 6:31:02आपका वन प्रिंट हुआ, 1 2 प्रिंट हुआ और 4
- 6:31:045 प्रिंट हुआ। ठीक है? ये ओबीj वन के
- 6:31:06कॉस्पोंडिंग चीजें प्रिंट हुई। अभी टू के
- 6:31:07कॉस्पोंडिंग चीजें प्रिंट हुई। ठीक है? तो
- 6:31:10हमने क्या किया था? अभी यहां xy हटा देता
- 6:31:12हूं। हमने कोई ओबीj वन बनाया। ठीक है?
- 6:31:15ओबीj टू बनाया। आपकी एक ही क्लास के
- 6:31:18मल्टीपल इंस्टेंसेस बनते हैं। और हर
- 6:31:20इंस्टेंसेस के जो मेंबर वेरिएबल्स होते
- 6:31:23हैं यानी कि मेंबर या डेटा मेंबर्स होते
- 6:31:25हैं। इसका x और इसका y इसका x अलग है।
- 6:31:30इसका x वन है। इसका x आपका टू है। इसका x
- 6:31:33आपका
- 6:31:35फोर है। इसका y आपका फाइव है।
- 6:31:38यानी कि हर इंस्टेंस के अपने प्राइवेट
- 6:31:43x और y होते हैं। अपने खुद के x और y होते
- 6:31:46हैं। इसका एक इंस्टेंस का यानी कि
- 6:31:48ऑब्जेक्ट वन का जो x है या y है वो इसको
- 6:31:52एक्सेस नहीं करता। उसके खुद के होते हैं।
- 6:31:54वो अपने पर्सनल होते हैं। है ना? ऐसे बोल
- 6:31:56सकते हैं हम। ठीक है? तो अब एक बात बताओ
- 6:32:00आपका जो ये क्लास है पर्टिकुलर क्लास है
- 6:32:02जब आप ओबीj1 डॉट प्रिंट कॉल कर रहे हो तो
- 6:32:06आपका ये इस एक्स ये इसको कैसे पता लग रहा
- 6:32:09है कि वो ओबीj वन का ही x है या फिर ओबीj2
- 6:32:12का x नहीं है। वो कंफ्यूज क्यों नहीं कर
- 6:32:13पा रहा? C++ कंफ्यूज क्यों नहीं करता? वो
- 6:32:16इसलिए नहीं करता क्योंकि आपके हर मेंबर
- 6:32:20फंक्शन के अंदर एक हिडन पैरामीटर पास होता
- 6:32:24है। यहां पर आपको खाली दिख रहा होगा ना?
- 6:32:26ये खाली नहीं है। एक हिडन पैरामीटर पास हो
- 6:32:29रहा है जो कि है ओबीj वन का पॉइंटर जिसको
- 6:32:31मैं बोलता हूं सिंपल दिस पॉइंटर।
- 6:32:35दिस पॉइंटर। और दिस पॉइंटर क्या है? दिस
- 6:32:38पॉइंटर है कि उस पर्टिकुलर इंस्टेंस से
- 6:32:40रिलेटेड है। ठीक है? यानी कि हमने क्लास
- 6:32:44बनाई थी ABC यह हमने क्लास बनाई थी। इस
- 6:32:48क्लास का एक इंस्टेंस था आपका ओबीj1
- 6:32:51इसका एक दिस पॉइंटर होगा। सिमिलरली एक
- 6:32:54OBJ2 है। इसका एक दिस पॉइंटर होगा। और
- 6:32:58इसका दिस पॉइंटर अलग होगा। इसका दिस
- 6:33:00पॉइंटर अलग होगा। ये दोनों सेम नहीं
- 6:33:03होंगे। ठीक है? अब यह दिस पॉइंटर का एक x
- 6:33:06होगा। एक y होगा। जिसकी वैल्यू 1 और 2 थी।
- 6:33:09इसका एक x होगा।
- 6:33:12जो कि फोर था, एक y होगा जो कि फाइव था।
- 6:33:15ठीक है? ऐसे-से होगा। तो यानी कोई भी
- 6:33:17मेंबर फंक्शन जो है जो कोई भी मेंबर
- 6:33:20फंक्शन किसी भी क्लास का होता है तो उसके
- 6:33:22अंदर एक और हिडन पैरामीटर होता है जिसको
- 6:33:23मैं दिस पॉइंटर कहता हूं। वो दिस पॉइंटर
- 6:33:25क्या है? वो दिस पॉइंटर इस पर्टिकुलर
- 6:33:28ऑब्जेक्ट से रिलेटेड है। वो उस क्लास से
- 6:33:30रिलेटेड नहीं है। इस पर्टिकुलर ऑब्जेक्ट
- 6:33:32से रिलेटेड है। दैट इज़ हाउ कोई दो
- 6:33:34इंस्टेंसेस के जो मेंबर वेरिएबल्स हैं वो
- 6:33:36अलग-अलग होते हैं। ठीक है? यानी कि एक
- 6:33:38हिडन पैरामीटर पास हो रहा है। वो बोल रहा
- 6:33:40है कि भाई इस इंस्टेंस का x
- 6:33:43भाई साहब इस इंस्टेंस का y
- 6:33:48ठीक है? ये काम करते हैं हम इसमें एरो
- 6:33:50लगता है।
- 6:34:00ये भी आपका सेम ही चीज देगा। यानी कि हमने
- 6:34:03क्या सीखा यहां पे? हमने बोला कि आपका जो
- 6:34:05आपको जो ये मेंबर वेरिएबल या फिर मेंबर
- 6:34:09मेथड जो दिख रहा है आपको यहां पे जो मेंबर
- 6:34:11फंक्शन दिख रहा है इसके अंदर कोई पैरामीटर
- 6:34:13नहीं जा रहा बट मैं कह रहा हूं कि यहां पे
- 6:34:15एक पैरामीटर जा रहा है। एक हिडन पैरामीटर
- 6:34:17है जो कि दिस है। दिस क्या है? वो एक
- 6:34:19पॉइंटर है जो कि उस पर्टिकुलर ऑब्जेक्ट से
- 6:34:23बिलोंग करता है। उस पर्टिकुलर ऑब्जेक्ट से
- 6:34:26बिलोंग करता है। यही आपका एश्योर करता है
- 6:34:28कि आपका इस ऑब्जेक्ट का x अलॉग हो। इस
- 6:34:31ऑब्जेक्ट का y अलग हो और इस ऑब्जेक्ट का x
- 6:34:33अलग हो और y अलग हो। ठीक है? ये हमें बात
- 6:34:36समझ आ गई। ये सिंपल हमारी वर्किंग थी
- 6:34:37क्लासेस की। ऐसे ही क्लासेस वर्क करती
- 6:34:39हैं। बहुत ही बढ़िया। अब अब हम देखते हैं
- 6:34:43कि अब वापस आते हैं। अब हम देखते हैं
- 6:34:46स्टैटिक डेटा मेंबर क्या होते हैं?
- 6:34:49स्टैटिक डेटा मेंबर होते हैं दैट वेरिएबल
- 6:34:51इज़ गोइंग टू शेयर मेमोरी विद ऑल द क्लास
- 6:34:53इंस्टेंसेस। यानी कि अभी तक x ऑब्जेक्ट वन
- 6:34:59से रिलेटेड था। यह वाला x ऑब्जेक्ट टू से
- 6:35:01रिलेटेड था। अब हम ऐसा कुछ करने वाले हैं
- 6:35:05कि हम एक x और y बनाएंगे जो कि इससे
- 6:35:08रिलेटेड भी होगा और इससे रिलेटेड भी होगा।
- 6:35:11यानी कि यह x y दोनों से रिलेटेड होंगे।
- 6:35:16अब यह वाला काम नहीं होगा। ये x और y जो
- 6:35:20होंगे
- 6:35:23यह क्लास के दोनों इंस्टेंसेस से रिलेट
- 6:35:26करेंगे। दोनों इंस्टेंसेस से रिलेट
- 6:35:27करेंगे। अब इसको कैसे बनाएंगे? हमने बोला
- 6:35:30स्टैटिक इंट xy लिख देंगे हम। ठीक है?
- 6:35:33स्टैटिक इंट xy दे देंगे। अब जैसे ही हमने
- 6:35:36देखा देखो यह इनिशलाइजेशन लिस्ट हमारी फेल
- 6:35:38हो गई। ये कह रहा है कि भाई टू मेनी
- 6:35:40इनिशलाइजेशन वैल्यूज़ कुछ नहीं है। ठीक है?
- 6:35:43तो हम क्या करेंगे? सिंपली इसको
- 6:35:46ऐसे ही छोड़ देते हैं।
- 6:35:52इसको देखेंगे। हमें समझेंगे कि ऐसा क्यों
- 6:35:54दे रहा है। है ना? और अब हम क्या करेंगे?
- 6:35:56यहां पर प्रिंट करेंगे ओबीj वन।
- 6:36:00डॉट प्रिंट
- 6:36:03मैं बोलूंगा यार ओबीj वन के जो प्रिंट को
- 6:36:05है ना
- 6:36:08ओबीj वन के जो x को है वो आप वन सेट कर दो
- 6:36:12और ओबीj वन के जो y को है वो आप टू सेट कर
- 6:36:16दो
- 6:36:18ठीक है और उसके बाद ओबीj टू के x को आप
- 6:36:22सेट कर दो 10
- 6:36:24और ओबीj2 के आप y को सेट कर दो 20
- 6:36:30ठीक है। अब इसको फटाफट से रन करके देखते
- 6:36:33हैं।
- 6:36:34रन करते ही हमें प्रॉब्लम आई है। यह कह
- 6:36:38रहा है ab cx रेफरेंस फ्रॉम दिस दिस दिस
- 6:36:41दिस कुछ पर्टिकुलर एरर आया है। ठीक है?
- 6:36:42अभी हम क्या करेंगे? इसको हटा देंगे यहां
- 6:36:45से। दिस को हटा देंगे।
- 6:36:49दिस को हम क्यों हटा रहे हैं? ये सब समझ आ
- 6:36:51जाएगा हमें। थोड़ी सी सबर करेंगे बस। अब
- 6:36:54यह कह रहा है यह एरर दे रहा है कि ABC का
- 6:36:57जो X है वह अनडिफाइंड है। ठीक है? वह कह
- 6:37:01रहा है अनडिफाइंड सिंबल है। वो ऐसा क्यों
- 6:37:03कह रहा है? क्योंकि आपके जो स्टैटिक
- 6:37:05वेरिएबल्स होते हैं ना वो किसी क्लास के
- 6:37:08इंस्टेंस से रिलेटेड नहीं होते। वो किसी
- 6:37:11क्लास से इंस्टेंस से रिलेटेड नहीं होते।
- 6:37:13दैट वेरिएबल इज़ गोइंग टू शेयर मेमोरी विद
- 6:37:15ऑल द क्लास इंस्टेंसेस। यानी कि
- 6:37:20आपका ओबीj वन है।
- 6:37:23आपका ओबीj टू है। आपका ओबीj3 है। आपका
- 6:37:26ओबीj4 है। या कितने भी इंस्टेंसेस हैं। ए
- 6:37:29बी सी के कितने भी इंस्टेंसेस हैं। एबी सी
- 6:37:31क्लास के कितने भी इंस्टेंसेस हैं वो सब
- 6:37:34एक ही x और y को पॉइंट कर रहे होंगे।
- 6:37:40ठीक है? एक ही x और y को पॉइंट कर रहे
- 6:37:43होंगे।
- 6:37:44एक ही इंस्टेंस को यानी कि ओबीj1 का अपना
- 6:37:47खुद का कोई x नहीं है। ओबीj2 का अपना खुद
- 6:37:49का कोई x नहीं है। ओबीj3 का अपना खुद का
- 6:37:51कोई x नहीं है। इन सब के मिला के एक ही x
- 6:37:54है। ठीक है? तो इसलिए ये कह रहा है कि a b
- 6:37:57c का x ना कि किसी एक इंस्टेंस का x। ठीक
- 6:38:02है? तो हमें क्या करना पड़ेगा? हमें
- 6:38:04स्टैटिक
- 6:38:06जो डाटा मेंबर होते हैं उनको हमें ऐसे
- 6:38:09डिक्लेअ करना पड़ता है। आप बोलोगे इंट ए
- 6:38:12बी सी का x आप बोलोगे इंट ए बी सी का y अब
- 6:38:16ध्यान से देखो हम किसी ओबीj वन ओबीj2 का x
- 6:38:19y नहीं बोल रहे हैं। हम बोल रहे हैं ए बी
- 6:38:22सी का x यानी कि उस क्लास का यह एक डाटा
- 6:38:25मेंबर है। उस क्लास का एक वेरिएबल है। उस
- 6:38:28क्लास का वेरिएबल होने का मतलब है उस
- 6:38:31क्लास के सारे इंस्टेंसेस
- 6:38:34उस पर्टिकुलर वेरिएबल का एक की एक ही कॉपी
- 6:38:38को शेयर करेंगे। उसके सारे इंस्टेंसेस इन
- 6:38:42दोनों वेरिएबल के एक ही कॉपी को सेव
- 6:38:44करेंगे।
- 6:38:46को शेयर करेंगे। ठीक है? को शेयर करेंगे
- 6:38:48का क्या मतलब है? वो हमें इससे समझ आएगा।
- 6:38:51हमने पहले x और y को वन टू सेट किया। ठीक
- 6:38:54है?
- 6:38:55ठीक है? तो क्या होना चाहिए था? यहां वन
- 6:38:57टू प्रिंट होना चाहिए। फिर ओबीj टू के x
- 6:39:00को 10 10 सेट किया है ना और ओबीj 2 के y
- 6:39:03को 20 सेट किया है ना तो ओबीj टू का ही जो
- 6:39:06x और y है वो 20 प्रिंट होना चाहिए। 10 और
- 6:39:0920 प्रिंट होना चाहिए। पर देखते हैं होगा
- 6:39:11क्या? इसको क्लियर करते हैं।
- 6:39:14इसको हमने बिल्ड किया और रन किया। अब
- 6:39:17ध्यान से देखो। स्टार्टिंग में इस पॉइंट
- 6:39:20पे वन और टू सेट किया तो वन और टू प्रिंट
- 6:39:22हो गया। उसके बाद आपने ओबीj टू बनाया और
- 6:39:24आपने बोला ओबीj2 का xy 10 और 20 सेट करो।
- 6:39:27बट इसने क्या करा? ओबीj2 के xy को नहीं
- 6:39:30सेट किया। इसने ओबीj वन के xy को भी 20 ही
- 6:39:3410 और 20 ही सेट कर दिया। ऐसा क्यों हुआ?
- 6:39:37क्योंकि जैसा कि हमने कहा कि सारे
- 6:39:40इंस्टेंसेस एक ही कॉपी को शेयर करेंगे।
- 6:39:44इसका मतलब x और y जो है वह एक ही है।
- 6:39:47अलग-अलग नहीं है। जैसे यहां पे होता था ना
- 6:39:49आपका दिस दिस पॉइंटर के कॉस्पोंडिंग x अलग
- 6:39:52है, y अलग है, x अलग है, y अलग है। ऐसा
- 6:39:54नहीं है। इन सबके कॉरेस्पोंडिंग
- 6:39:57इन सबके कॉरेस्पोंडिंग एक ही कॉपी है x y
- 6:40:01की। तो इसलिए इसको हमें ऐसे लिखना पड़ता
- 6:40:03है कि उस क्लास का यह वेरिएबल है ना कि उस
- 6:40:06पर्टिकुलर क्लास के इंस्टेंस का वेरिएबल
- 6:40:09नहीं है यह। तो अगर हमारा कोई ऐसा यूज़ केस
- 6:40:11है जिसके अंदर हम सारे क्लास के
- 6:40:15इंस्टेंसेस के अंदर से या सारे क्लास के
- 6:40:18इंस्टेंसेस में सेम ही वेरिएबल को स्प्रेड
- 6:40:20आउट करना चाहते हैं। एक्सेसबल बनाना चाहते
- 6:40:22हैं। सेम ही वेरिएबल को आप थ्रूउ क्लासेस
- 6:40:26यूज़ करना चाहते हो। है ना? शेयरर्ड
- 6:40:28वेरिएबल यूज़ करना चाहते हो। तो आप स्टैटिक
- 6:40:31मेंबर बनाओगे उस पर्टिकुलर का। और क्योंकि
- 6:40:34वो स्टैटिक मेंबर है तो आप उसको उसको बाहर
- 6:40:36इनिशियलाइज़ करना पड़ता है। ठीक है? स्टैटिक
- 6:40:39मेंबर को आपको बाहर इनिशलाइज़ करना पड़ता
- 6:40:40है। और जब आप उसको प्रिंट करोगे तो सारे
- 6:40:43ऑब्जेक्ट्स में वो सेम कॉपी को ही यूज़
- 6:40:46करेगा। X और Y जो है वो किसी इंस्टेंस का
- 6:40:49नहीं है। वो पूरी क्लास का है। ठीक है?
- 6:40:53बहुत ही बढ़िया। अब सिमिलरली सिमिलरली
- 6:40:57आपका होता है स्टैटिक मेंबर वेरिएबल क्या
- 6:41:00है? देयर इज़ नो इंस्टेंस ऑफ़ दैट क्लास
- 6:41:02बीइंग पास्ड इंटू दैट मेंबर। यानी कि
- 6:41:07कोइंस्टेंस जैसे हमने क्या बोला था यहां
- 6:41:09पर हमने बोला था कि कोई भी ऑब्जेक्ट है
- 6:41:12कोई भी ऑब्जेक्ट है अगर आप उसके उसका कोई
- 6:41:16मेंबर वेरिएबल एक्सेस कर रहे हो तो उसके
- 6:41:17अंदर दिस नाम का पॉइंटर होता है वो दिस
- 6:41:19पॉइंटर क्या है उस पर्टिकुलर इंस्टेंस को
- 6:41:22पॉइंट कर रहा होता है ठीक है हमने बोला कि
- 6:41:25स्टैटिक मेंबर फंक्शन जो होता है ना उसके
- 6:41:27अंदर कोई दिस पॉइंटर नहीं होता कोई दिस
- 6:41:30पॉइंटर नहीं होता वो एक क्लास पूरी क्लास
- 6:41:33का एक मेथड होता है किसी ऑब्जेक्ट का मेथड
- 6:41:36नहीं होता। इसका मतलब इसका मतलब मैं इसको
- 6:41:39उठा के अगर मैं स्टैटिक बना दूं।
- 6:41:42ठीक है? स्टैटिक बना दूं।
- 6:41:46ये मैंने स्टैटिक बना दिया। अब इसको रन
- 6:41:48करके देखते हैं। ये सिंपल रन हो रहा है।
- 6:41:51क्यों? क्योंकि स्टैटिक के अंदर आप एक
- 6:41:53स्टैटिक वेरिएबल यूज़ कर रहे हो। ठीक है?
- 6:41:55अब मैंने बोला ये जो प्रिंट फंक्शन है ना
- 6:41:57ये सारे इंस्टेंसेस में कॉमन होगा। यह
- 6:42:02किसी पर्टिकुलर इंस्टेंस का नहीं होगा
- 6:42:05क्योंकि ये किसी पर्टिकुलर इंस्टेंस का
- 6:42:06नहीं होगा। तो हम इन इसको कैसे लिख सकते
- 6:42:09हैं? इस प्रिंट को कैसे लिख सकते हैं? हम
- 6:42:10लिख सकते हैं
- 6:42:13ABC का प्रिंट।
- 6:42:16ठीक है? हम इन सबको ऐसे लिख सकते हैं। हम
- 6:42:19यहां लिख सकते हैं ABC का X। इसको हम लिख
- 6:42:21सकते हैं ABC का X।
- 6:42:26इसको भी हम लिख सकते हैं ABC का X। इसको
- 6:42:29हम लिख सकते हैं ABC का X यह भी एबीसी का
- 6:42:33प्रिंट है। यह भी एबीसी का ही प्रिंट है।
- 6:42:38ठीक है? अब देखो यहां से स्टैटिक स्टैटिक
- 6:42:41के अंदर स्टैटिक एक्सेस हो रहा था। अब अगर
- 6:42:42मैं स्टैटिक को हटा देता हूं यहां से।
- 6:42:50मैं बोलता हूं सिंपल x * x y
- 6:42:56ठीक है? और एक बार वो लिख देते हैं।
- 6:43:00x को हम जीरो से इनिशलाइज कर देते हैं। y
- 6:43:02को भी हम जीरो से इनिशलाइज कर देते हैं।
- 6:43:05सिंपल। अब ध्यान से देखो। अब ये कह रहा है
- 6:43:08कि x और y एक्सेसबल नहीं है। ए नॉन
- 6:43:11स्टैटिक मेंबर रेफरेंस मस्ट बी रिलेटेड टू
- 6:43:15स्पेसिफिक ऑब्जेक्ट। यानी कि ये कहना चाह
- 6:43:17रहा है कि हमने बोला कि एक स्टैटिक फंक्शन
- 6:43:21के अंदर स्टैटिक फंक्शन के अंदर कोई भी
- 6:43:24इंस्टेंस का दिस पॉइंटर नहीं होता। कोई भी
- 6:43:26इंस्टेंस नहीं होता क्योंकि इंस्टेंस नहीं
- 6:43:28होता तो उसको पता ही नहीं है कौन से x और
- 6:43:31किस इंस्टेंस का x और y है तो यानी इसके
- 6:43:33अंदर x y एक्सेसबल ही नहीं है। उसको पता
- 6:43:35ही नहीं है कौन सा x y है। तो हम इस
- 6:43:37प्रिंट फंक्शन के अंदर x और y को एलोकेट
- 6:43:41नहीं कर पा रहे हैं। क्यों? क्योंकि x और
- 6:43:43y जो है आपका वो किसी पर्टिकुलर क्योंकि
- 6:43:45हमने इसको नॉन स्टैटिक बना दिया। अब तो ये
- 6:43:47किसी पर्टिकुलर इंस्टेंस से रिलेट कर रहा
- 6:43:49होगा। है ना? ये वाली चीज याद है? x और y
- 6:43:52x और y किसी ऑब्जेक्ट का x और y होगा।
- 6:43:54किसी ऑब्जेक्ट का x और y होगा। ठीक है? बट
- 6:43:57आपने जो फंक्शन है वो आपने नॉन स्ट एक
- 6:44:01स्टैटिक फंक्शन बना दिया। अब क्योंकि
- 6:44:02स्टैटिक फंक्शन बना दिया। तो इसके अंदर
- 6:44:04कोई भी इंस्टेंस पास ही नहीं हो रहा है।
- 6:44:06कोई ओबीj1 कोई ओबीj2 नहीं पता इसको। ठीक
- 6:44:09है? तो इसके अंदर हम x और y को एक्सेस
- 6:44:12नहीं कर पाएंगे। इसके अंदर हम स्टैटिक
- 6:44:13वेरिएबल्स को ही एक्सेस कर सकते हैं। उनको
- 6:44:15प्रिंट कर सकते हैं। हम सिंपली कुछ और काम
- 6:44:17कर सकते हैं। यहां पर सिंपल प्रिंटिंग डाल
- 6:44:19सकते हैं। आई एम इन
- 6:44:23स्टैटिक
- 6:44:25परसेंटेज
- 6:44:28यहां हम क्या डाल देंगे? एक मैक डाल
- 6:44:31देंगे। फंक्शन ये क्या करता है? फंक्शन का
- 6:44:34नाम प्रिंट कर देगा।
- 6:44:36ठीक है? चला के देखें।
- 6:44:43ठीक है? आई एम इन स्टैटिक प्रिंट। आई एम
- 6:44:45स्टैटिक प्रिंट। आई एम स्टैटिक प्रिंट।
- 6:44:47प्रिंट हो गया। बहुत ही बढ़िया। तो आई होप
- 6:44:49हमें समझ आ गया है कि स्टैटिक डेटा मेंबर
- 6:44:52क्या होते हैं? वह डाटा मेंबर सारे
- 6:44:54इंस्टेंसेस क्लास के सारे ऑब्जेक्ट जितने
- 6:44:56भी ऑब्जेक्ट मिले हैं उन सब में शेयरर्ड
- 6:44:59होता है। ठीक है? यानी कि सेम कॉपी x और y
- 6:45:02की सारे ऑब्जेक्ट्स के अंदर होगी। x और y
- 6:45:06सारे ऑब्जेक्ट्स की अपनी खुद की पर्टिकुलर
- 6:45:08पर्सनल x और y नहीं होंगे अगर वो स्टैटिक
- 6:45:11है तो। ठीक है? सिमिलरली स्टैटिक मेंबर
- 6:45:13फंक्शन क्या होते हैं? मेंबर फंक्शन क्या
- 6:45:15होता है? किसी मेंबर फंक्शन भी किसी
- 6:45:16पर्टिकुलर क्लास के इंस्टेंस से रिलेटेड
- 6:45:19होता है। कैसे? वो पर्टिकुलर क्लास से
- 6:45:21इंस्टेंस से कैसे रिलेटेड होता है? आप जब
- 6:45:23भी उस पर्टिकुलर ऑब्जेक्ट का प्रिंट या
- 6:45:26फिर पर्टिकुलर ऑब्जेक्ट का कोई फंक्शन कॉल
- 6:45:28करते हो तो उसके अंदर उसका दिस पॉइंटर भी
- 6:45:30पास होता है। तो उसके अंदर उसके पर्टिकुलर
- 6:45:33मेंबर फंक्शन मेंबर वेरिएबल्स मेंबर
- 6:45:35वेरिएबल्स आपके एक्सेसबल होते हैं। बट
- 6:45:38आपके स्टैटिक मेथड में क्या होता है?
- 6:45:40स्टैटिक मेंबर में मेथड में स्टैटिक मेथड
- 6:45:42में कोई इंस्टेंस क्लास का पास नहीं किया
- 6:45:45जाता। वो फंक्शन उस क्लास के सारे
- 6:45:48इंस्टेंसेस के लिए कॉमन होता है। ठीक है?
- 6:45:50तो इसलिए आप उस पर्टिकुलर क्लास का वो
- 6:45:53फंक्शन बोलते हो रादर देन उस पर्टिकुलर
- 6:45:55ऑब्जेक्ट से रिलेटेड नहीं होता वो। ठीक
- 6:45:57है? हालांकि आप ऐसे भी कॉल कर सकते हो।
- 6:45:58oबीj डॉट प्रिंट
- 6:46:06oबीj 1 डॉट प्रिंट
- 6:46:08ऐसे भी कॉल कर सकते हो। बट ये सेम कॉपी
- 6:46:11पास होगी। ये सेम फंक्शन अवेलेबल होगा हर
- 6:46:13जगह। इसके अंदर कोई दिस पॉइंटर नहीं है।
- 6:46:16बोल सकते हैं हम इसके अंदर नो दिस
- 6:46:21पॉइंटर
- 6:46:25एक्सेसबल। तो आप यहां पे दिस का एक्स दिस
- 6:46:30का y आप एक्सेस कर ही नहीं सकते। ठीक है?
- 6:46:33तो आई होप आपको ये चीज़ समझ आई होगी। हमें
- 6:46:35समझ आ गया होगा कि स्टैटिक कीवर्ड कैसे
- 6:46:37यूज़ होता है। अगर डेटा मेंबर आप बना रहे
- 6:46:39हो स्टैटिक तो सेम वेरिएबल सेम वेरिएबल की
- 6:46:42सेम कॉपी शेयर होगी सारे इंस्टेंसेस पे।
- 6:46:44और अगर आप स्टैटिक मेंबर फंक्शन बना रहे
- 6:46:46हो तो वही फंक्शन पर्टिकुलर फंक्शन
- 6:46:49शेयरर्ड होगा सारे इंस्टेंसेस पे। ऐसा बोल
- 6:46:52सकते हैं हम। क्यों? क्योंकि उस पर्टिकुलर
- 6:46:54फंक्शन के अंदर किसी भी इंस्टेंस का दिस
- 6:46:56पॉइंटर नहीं होगा। तो उस पर वो किसी
- 6:46:59पर्टिकुलर क्लास के इंस्टेंस से रिलेटेड
- 6:47:02नहीं होगा। वो फंक्शन वो सबके लिए कॉमन
- 6:47:05होगा। इसलिए हम उसको इस तरीके से एक्सेस
- 6:47:07कर सकते हैं। तो आई होप आपको ये चीज़ समझ
- 6:47:08आई होगी। मिलते हैं ऐसी किसी नेक्स्ट
- 6:47:10वीडियो में। तब तक के लिए गुड बाय। इस
- 6:47:11वीडियो में देखने वाले हैं शैलो वर्सेस डप
- 6:47:13कॉपी। बहुत ही इंपॉर्टेंट कांसेप्ट है
- 6:47:15इंटरव्यू पर्सपेक्टिव से भी और एक गुड
- 6:47:17डेवलपर बनने के पर्सपेक्टिव से भी। ठीक
- 6:47:18है? शैलो का मतलब क्या होता है? खोखला।
- 6:47:22ठीक है? और डीप का मतलब होता है कि गहरी।
- 6:47:24यानी कि शैलो का मतलब शैलो कॉपी कर रहे
- 6:47:26हो। यानी कि आपके पास सपोज करते हैं एक यह
- 6:47:31बॉक्स है।
- 6:47:33और एक यह बॉक्स है।
- 6:47:36ठीक है? ऐसे ऐसे एक सिंपल सा एग्जांपल
- 6:47:38लेते हैं। आपके पास यह बॉक्स है और एक यह
- 6:47:41बॉक्स है।
- 6:47:44इस बॉक्स का नाम A है। इस बॉक्स का नाम B
- 6:47:47है। ठीक है? अब सपोज़ करते हैं इस बॉक्स के
- 6:47:50अंदर कुछ कंटेंट पड़ा हुआ है। इस कांटेक्ट
- 6:47:52का नाम X है। इस कंटेंट का नाम Y है। ठीक
- 6:47:55है? अब यह आपके पास पहले से बना पड़ा था।
- 6:47:59ओल्ड था।
- 6:48:02और यह आप न्यू अभी बना ही रहे हो। ठीक है?
- 6:48:06अब सपोज करते हैं ए बॉक्स के के का जो
- 6:48:08आउटर कलर है ना
- 6:48:12वो था वाइट।
- 6:48:16ठीक है? और बी बॉक्स का भी कोई कलर ही
- 6:48:18नहीं है। तो आप अभी बना ही रहे हो। अब
- 6:48:21शैलो कॉपी का मतलब होता है। शैलो कॉपी का
- 6:48:23मतलब होता है कि आपने
- 6:48:26आपने उठाया बी का बॉक्स बनाया। इसको नाम B
- 6:48:31दिया है ना यानी ये शैलो कॉपी कर रहे हो
- 6:48:33आप ऐसा कुछ कर रहे हो आपने बोला B = A
- 6:48:37कॉपी कर रहे हो आप यह कॉपी कंस्ट्रक्टर को
- 6:48:39कॉल करता है कॉपी बनाता है ये अब कॉपी कर
- 6:48:42रहे हो आप तो कॉपी शैलो कॉपी का मतलब है
- 6:48:46आपने उठा के आउटर कलर को बी के आउटर कलर
- 6:48:49को भी
- 6:48:51वाइट बना दिया ठीक है सपोज़ करते हैं इसको
- 6:48:56भी आपने
- 6:48:58वाइट बना
- 6:49:01और यह तो पहले से ही वाइट था।
- 6:49:07है ना? अब अगर आपने सिर्फ इतना काम किया
- 6:49:11है, सिर्फ इतना काम किया है, तो यह काम हो
- 6:49:14गया आपका शैलो कॉपी करना। यानी कि आपने
- 6:49:17बाहर बाहर से खोखली कॉपी की है। अंदर का
- 6:49:19कंटेंट कॉपी नहीं किया है ढंग से। अंदर का
- 6:49:22कंटेंट ढंग से कॉपी नहीं किया है। अब अंदर
- 6:49:24यहां पर इसका कंटेंट x था तो आपने अंदर
- 6:49:27इसका कांटेक्ट कुछ नहीं बनाया या फिर इसके
- 6:49:31अंदर कुछ भी नहीं बनाया। तो ये ये हो गई
- 6:49:34आपकी शैलो कॉपी। और अगर आप इसका अंदर का
- 6:49:36कंटेंट भी कॉपी कर लेते हो। अंडर कंटेंट
- 6:49:38में भी x और y कॉपी कर लेते हो। ठीक है?
- 6:49:41यानी कि आपने यह तो किया ही क्या ही साथ
- 6:49:44ही साथ आपने x और y भी कॉपी कर लिए।
- 6:49:50इनर कंटेंट भी आपने कॉपी कर लिया ठीक से।
- 6:49:54तो अगर आप यह दोनों काम कर लेते हो वन और
- 6:49:56टू, यह होती है आपकी डीप कॉपी। यह दोनों
- 6:49:59काम कर लेते हो तो आपकी होती है डीप कॉपी।
- 6:50:01अगर आप सिर्फ बाहरी बाहरी काम करते हो तो
- 6:50:03ये होती है आपकी शैलो कॉपी। ठीक है? इसको
- 6:50:05कोड वाइज समझते हैं फटाफट से तो ज्यादा
- 6:50:08अच्छे से समझ आएगा। सपोज़ करते हैं हम एक
- 6:50:12क्लास बनाते हैं एबी सी नाम से। ठीक है?
- 6:50:17सब कुछ इसमें अभी पब्लिक कर देते हैं।
- 6:50:22हमने लिया in x और इंट एक वेरिएबल ले
- 6:50:26लिया। इंट पॉइंटर ले लिया स्टार y। ठीक
- 6:50:29है? अब हम एक इनिशलाइजेशन लिस्ट लिख लेते
- 6:50:33हैं। इंट x इंट
- 6:50:37y
- 6:50:42x को हमने x से असाइन किया। व को हमने
- 6:50:48न्यू इंट
- 6:50:52अंडर व बना दिया।
- 6:50:55बहुत ही बढ़िया। ये थी आपकी इनिशलाइजेशन
- 6:50:57लिस्ट। ये हम पढ़ चुके हैं।
- 6:51:02आपने लिखा है प्रिंट।
- 6:51:05ये फंक्शन लिख दिया प्रिंट वॉइड
- 6:51:10कॉस्ट बना देते हैं इसको। यानी कि इसका ये
- 6:51:12अपने डेटा मेंबर्स को चेंज नहीं करेगा। हम
- 6:51:14सिंपली यहां पे प्रिंट लिख देते हैं। सारा
- 6:51:16डाटा प्रिंट करा देते हैं। प्रिंट f
- 6:51:21x की वैल्यू क्या है आपकी? परसेंटेज d
- 6:51:29व पॉइंटर की वैल्यू क्या है?
- 6:51:32लिख देता हूं यहां पे ptry
- 6:51:37इसकी वैल्यू क्या है? परसेंटेज
- 6:51:40p
- 6:51:44एंड
- 6:51:50y की वैल्यू क्या है? ये मैं लिख देता हूं
- 6:51:53तो कंटेंट
- 6:51:57ऑफ़ Y
- 6:52:00यानी कि स्टारY ये क्या है? यह मैं लिखता
- 6:52:04हूं परसेंटेज डी यह एक इंट है।
- 6:52:09इसमें हम लिख देते हैं x ये लिख देते हैं
- 6:52:12y ये लिख देते हैं एस्ट्रिक y ठीक है हमने
- 6:52:16कंटेंट प्रिंट कर दिया तो अगर मैं सिंपली
- 6:52:18इसको
- 6:52:23एक सिंपली मैं एक ऑब्जेक्ट बनाता हूं ए बी
- 6:52:27सी नाम का ए
- 6:52:29उसको इनिशलाइज कर देते हैं हम 1 2 से
- 6:52:34मैं कॉल कर देता हूं। A डॉट प्रिंट
- 6:52:40इसको कंपाइल करते हैं।
- 6:52:46बहुत ही बढ़िया। तो आपका X प्रिंट हो गया
- 6:52:48वन और X का आपका पॉइंटर प्रिंट हो गया जो
- 6:52:51कि ऐसा कुछ है और आपका Y प्रिंट हो गया।
- 6:52:54ठीक है? अब तक का काम क्या हुआ? हुआ होगा
- 6:52:57वह देख लेते हैं। एक बार फटाफट से आईपैड
- 6:52:59पे। हमने ABC नाम का एक क्लास बनाई है।
- 6:53:03ठीक है? उसके अंदर X है। उसके अंदर एक Y
- 6:53:07पॉइंटर है। हम इनिशलेशन लिस्ट करते हुए Y
- 6:53:11पे हम एक हिप पे एक मेमोरी लोकेट करते
- 6:53:15हैं। और y उस मेमोरी पे लोकेट कर रहा होता
- 6:53:18है। उस पे पॉइंट कर रहा होता है। और उसको
- 6:53:20हम शुरू में अंडरस्कोर Y से इनिशलाइज़ कर
- 6:53:23देते हैं। ठीक है? अंडरस्कोर y से
- 6:53:25इनिशलाइज़ कर देते हैं। तो ये काम होता है।
- 6:53:27ये X है और ये आपका हिप पे एलोकेट होता
- 6:53:30है।
- 6:53:34ये आपका हिप पे एलोकेट होता है। ठीक है?
- 6:53:36इतना काम हमें समझ आ गया।
- 6:53:39अभी हमने क्या किया था? अभी हमने एक
- 6:53:42पॉइंटर अभी हमने एक वेरिएबल बनाया A
- 6:53:46B C नाम का हमने एक A ऑब्जेक्ट बनाया है।
- 6:53:50अब जो आपने A ऑब्जेक्ट बनाया यह कैसे बना
- 6:53:52होगा? इस A का
- 6:53:55X बना होगा। X क्या था? वन।
- 6:53:59इस A का एक पॉइंटर Y बना होगा। वो पॉइंटर
- 6:54:04Y क्या कर रहा होगा? एक मेमोरी लोकेशन पे
- 6:54:07पॉइंट कर रहा होगा। यह हिप के अंदर होगी।
- 6:54:10और वो ये जो मेमोरी लोकेशन है ये मेमोरी
- 6:54:13लोकेशन के अंदर टू स्टर्ड होगा।
- 6:54:16और सपोज़ करते हैं इसका कुछ
- 6:54:19एड्रेस होगा।
- 6:54:21इसका जो एड्रेस है वह हमारा यहां पर
- 6:54:23प्रिंट हो गया है। यह एड्रेस प्रिंट हो
- 6:54:25गया है। यह आपका टू इसकी वैल्यू है और x
- 6:54:27है। ठीक है? अभी तक का यह काम हुआ है। अभी
- 6:54:30तक का इतना काम हुआ है। अब अब हम एक काम
- 6:54:34करते हैं। एक और वेरिएबल बनाते हैं। एक और
- 6:54:37ऑब्जेक्ट बनाते हैं। A B C टाइप का B और
- 6:54:41इसको इनिशलाइज़ कर देते हैं हम A से ही।
- 6:54:45इसको हम A से इनिशलाइज कर देते हैं। इसको
- 6:54:46ऐसे लिख सकते हैं या फिर मैं ऐसे भी लिख
- 6:54:50सकता हूं। ABC B = A ठीक है?
- 6:54:56और अब हम B को प्रिंट करते हैं। B डॉट
- 6:54:58प्रिंट।
- 6:55:02इसको रन करके देखते हैं।
- 6:55:07बहुत ही बढ़िया। अब भी क्या आ रहा है? x
- 6:55:09आपका वन आ रहा है और y 2 आ रहा है और x
- 6:55:11आपका यहां वन आ रहा है और y 2 आ रहा है।
- 6:55:13अब आप बोलोगे भैया ऐसे ही तो होना चाहिए
- 6:55:15था। ये जब इक्वल टू लिखा गया है इक्वल टू
- 6:55:17क्या कर रहा है? आपने उठाकर बोला कि भाई
- 6:55:20जो b है ना b उसको a जैसा बना दो। यानी कि
- 6:55:24a b = a कर दिया आपने। बट अब हम ध्यान से
- 6:55:28देखें तो बहुत ही बड़ी गड़बड़ करी है अभी
- 6:55:30हमने। वह क्या आपका x तो वन हो गया।
- 6:55:34आपका y का जो कंटेंट है वह टू हो गया। पर
- 6:55:37ध्यान से देखो
- 6:55:39आपका जो y का पॉइंटर है
- 6:55:42y का जो पॉइंटर है यह सपोज करते हैं नहीं
- 6:55:45ये y का पॉइंटर है ये y का पॉइंटर और जो
- 6:55:48आपका b का y का पॉइंटर है ये सेम है ये
- 6:55:51दोनों पॉइंटर सेम है इसका मतलब अभी-अभी
- 6:55:53क्या हुआ है अभी-अभी क्या हुआ है आपने एक
- 6:55:57a बनाया
- 6:55:59उसका x था वो वन था आपने y बनाया था स्टार
- 6:56:04व
- 6:56:06वह एक ईप के किसी लोकेशन पर जिसका एड्रेस
- 6:56:09था आपका
- 6:56:11कितना एड्रेस था आपका 126 98 ब्ल ब्ल कुछ
- 6:56:16भी कुछ भी एड्रेस था यह y जो है इधर पॉइंट
- 6:56:20कर रहा था और इसके अंदर टू स्टर्ड था ठीक
- 6:56:23है यह आपने ए बनाया था
- 6:56:31अब हमने ऐसे ही एक बी बनाया
- 6:56:36B बनाया। हमने B कैसे बनाया? B = A करके
- 6:56:40बनाया। अब जब B बना तो B के कितने
- 6:56:43वेरिएबल्स हैं? B का X बना जो कि वन से
- 6:56:46असाइन हो गया। अब एक स्टार Y पॉइंटर बना।
- 6:56:50अब Y पॉइंटर जो है वो भी इसी लोकेशन पे
- 6:56:54पॉइंट कर रहा है। ठीक है? अब यह है बहुत
- 6:56:58बड़ी गड़बड़ी।
- 6:56:59ठीक है?
- 6:57:01इसका मतलब आपने एक A वेरिएबल बनाया था। एक
- 6:57:05आपने B ऑब्जेक्ट बनाया था ABC टाइप का।
- 6:57:08इसके X और X ये दोनों X ये दोनों X तो सेम
- 6:57:11है। बट जो हीप पे एलोकेशन आपने करी है ना
- 6:57:14वो वो क्या कर रही है? वो आपकी सेम लोकेशन
- 6:57:18पे पॉइंट कर रही है। अब ये है बहुत बड़ी
- 6:57:20गड़बड़ी। कैसे? कैसे? अब ये दोनों वेरिएबल
- 6:57:25जो है ना ये दोनों वेरिएबल ये दोनों एक
- 6:57:26दूसरे से इंटरडिपेंडेंट हो गए। कैसे? अगर
- 6:57:30मैं y को फ्री कर दूं यानी कि इस मेमोरी
- 6:57:34लोकेशन को फ्री कर दूं
- 6:57:38तो क्या बी इसको एक्सेस कर पाएगा? B अपने
- 6:57:40Y के थ्रू इसको एक्सेस कर पाएगा? नहीं कर
- 6:57:42पाएगा। क्योंकि आपने तो इसको फ्री कर
- 6:57:44दिया। ठीक है? वो कैसे करेंगे हम? ठीक है?
- 6:57:47अब देखते हैं यहां पे ये कैसे गड़बड़ी
- 6:57:49क्रिएट करेगा। अब ध्यान से देखो। हम क्या
- 6:57:51करेंगे? अब
- 6:57:53हमारे हिसाब से तो हम दो अलग-अलग वेरिएबल
- 6:57:55बनाना चाहते थे। हम दो अलग-अलग वेरिएबल
- 6:57:57बनाना चाहते थे। दो अलग-अलग ऑब्जेक्ट
- 6:57:59बनाना चाहते थे। एक A और एक B. अब B जो है
- 6:58:03वो भी सेम Y की लोकेशन में पॉइंट कर रहा
- 6:58:05है। A जो है वो भी सेम Y की लोकेशन में
- 6:58:07पॉइंट कर रहा है। अब सपोज़ करते हैं मैं
- 6:58:09चाहता था कि भाई B का जो Y है ना
- 6:58:14B का जो Y है इसको मैं ना टू की जगह 20
- 6:58:19करना चाहता था। टू की जगह 20 करना चाहता
- 6:58:22था। अब जब मैं B डॉट प्रिंट यूज़ करूंगा
- 6:58:30B डॉट प्रिंट यूज़ करूंगा।
- 6:58:36तो ध्यान से देखो। आपका ये स्टार्टिंग में
- 6:58:39ये प्रिंट हुआ। A प्रिंट हुआ। स्टार्टिंग
- 6:58:41में फिर आप फिर आपका B प्रिंट हुआ। फिर
- 6:58:43आपका जब C प्रिंट हुआ। सॉरी दोबारा से
- 6:58:46लेते हैं। आपका स्टार्टिंग में A प्रिंट
- 6:58:47हुआ। फिर B प्रिंट हुआ। फिर आपने वापस से
- 6:58:50B प्रिंट किया। कैसे? ये A को B के Y को
- 6:58:5320 करके। B के Y को आपने 20 कर दिया। B के
- 6:58:56Y को आपने 20 कर दिया। ठीक है? B का Y 20
- 6:58:59हो गया। अब ध्यान से देखो। जब मैं A को भी
- 6:59:02प्रिंट करूंगा,
- 6:59:04A को भी प्रिंट करूंगा, तो A का Y भी 20
- 6:59:07हो गया होगा। ध्यान से देखो। यह A का Y भी
- 6:59:1020 हो गया। ठीक है? यहां हम क्या कर रहे
- 6:59:13हैं?
- 6:59:15प्रिंटिंग
- 6:59:21A
- 6:59:27प्रिंटिंग बी
- 6:59:33प्रिंटिंग ए
- 6:59:38प्रिंटिंग बी
- 6:59:40अब चलाता हूं ढंग से समझ आएगा आपको।
- 6:59:47ठीक है? तो सबसे पहले हमने क्या करा? A को
- 6:59:50प्रिंट किया। a को प्रिंट किया तो a x
- 6:59:52प्रिंट हो गया। A का कोई पॉइंटर था वो B
- 6:59:54प्रिंट हो गया। B के Y का पॉइंटर था जो कि
- 6:59:57दोनों सेम ही हैं। सेम ही लोकेशन पे पॉइंट
- 6:59:59कर रहे हैं। अब इससे गड़बड़ी क्या हुई? आप
- 7:00:01तो चाहते थे B एक इंडिपेंडेंट वेरिएबल
- 7:00:03बने। बट B का Y भी सेम जगह पे पॉइंट कर
- 7:00:06रहा है। तो आपने B के Y को चेंज किया तो
- 7:00:08आपका A का Y भी चेंज हो गया। ये तो बहुत
- 7:00:10बड़ा सिक्योरिटी फ्लो है। दोनों वेरिएबल तो
- 7:00:12अलग-अलग होने चाहिए थे। अब ऐसा क्यों हुआ?
- 7:00:15क्योंकि बाय डिफॉल्ट जब भी आप b = A कॉल
- 7:00:18करते हो तो यहां पर कॉल होता है आपका
- 7:00:22कॉल होता है कॉपी कंस्ट्रक्टर।
- 7:00:28ठीक है? और कॉपी कंस्ट्रक्टर कैसा होगा?
- 7:00:32कॉपी कंस्ट्रक्टर कैसा होगा? बाय डिफ़ॉल्ट
- 7:00:34क्योंकि आपने खुद से डिक्लेअ नहीं किया
- 7:00:36है। आपने खुद से डिक्लेअ नहीं किया है। तो
- 7:00:38OS ने यानी कि C++ ने यहां पर C++ ने खुद
- 7:00:42से एक कॉपी कंस्ट्रक्टर इंसर्ट किया होगा।
- 7:00:45और जब भी C++ एक कॉपी इंस्ट्रक्टर इंसर्ट
- 7:00:48करता है वो इंसर्ट करता है एक डम्प कॉपी
- 7:00:50कंस्ट्रक्टर। वो डम कॉपी कंस्ट्रक्टर कैसा
- 7:00:53होता है? वो कुछ ऐसा दिखता है।
- 7:00:55मैं बोलता हूं इसको डिफॉल्ट
- 7:00:59डम कॉपी कंस्ट्रक्टर। वो कैसा होगा? वह
- 7:01:04ऐसा होगा। ABC
- 7:01:07कास्ट ABC
- 7:01:09एंड OBJ
- 7:01:12आप बोलोगे X को सेट कर दो obj डॉट X से
- 7:01:19Y को सेट कर दो
- 7:01:22objॉy से।
- 7:01:26ठीक है? सिंपल। अब ध्यान से देखेंगे तो भी
- 7:01:29सेम ही आंसर आएगा आपका।
- 7:01:32सेम ही आंसर आ रहा है। आपने एक a वेरिएबल
- 7:01:34बनाया। उसकी वैल्यू सेट करी 1 और 2 b
- 7:01:37वेरिएबल बनाया। b को a से इनिशलाइज किया।
- 7:01:40आप सोच रहे थे ये तो भाई ढंग से कॉपी हुई
- 7:01:43होगी। बट ध्यान से देखो x तो ढंग से कॉपी
- 7:01:45हो गया। बट y का y का जो लोकेशन है हिप की
- 7:01:48वो a वेरिएबल में भी वही है और b वेरिएबल
- 7:01:52में भी सेम ही है। तो जब आप b के y को
- 7:01:54चेंज करते हो तो आपका a का y भी चेंज हो
- 7:01:57जाता है जो कि बहुत बड़ा सिक्योरिटी फ्लो
- 7:01:59है। ठीक है? तो ये एस क्यों हो रहा है?
- 7:02:01क्योंकि बाय डिफॉल्ट आपका जो डिफॉल्ट डंब
- 7:02:04कॉपी कंस्ट्रक्टर होता है, है ना?
- 7:02:08वो क्या करता है? इट डस शैलो कॉपी।
- 7:02:12यह शैलो कॉपी करता है। शैलो कॉपी हम किसे
- 7:02:15कह रहे हैं? हम सिंपली उठाकर
- 7:02:19जो आपने a b = a लिखा है उसके अंदर
- 7:02:24डिफॉल्ट कॉपी कंस्ट्रक्टर कॉल होता है जो
- 7:02:26कि शैलो कॉपी करता है। शैलो कॉपी क्या
- 7:02:28होती है? आपने जो A के अंदर पॉइंटर था A
- 7:02:32के अंदर जो पॉइंटर था Y उसी को ही आपने B
- 7:02:35वेरिएबल के Y के अंदर कॉपी कर दिया। ठीक
- 7:02:38है? यह जो ओबीj आएगा जब आप इसको इसको इसको
- 7:02:42लिखते हो तो जब आप B = A लिखते हो तो आपका
- 7:02:46होता है कॉपी कंस्ट्रक्टर कॉल।
- 7:02:50किसका? B का। तो जब B का यहां पर कॉपी
- 7:02:53कंस्ट्रक्टर कॉल होगा यहां पर B का कॉपी
- 7:02:55कंस्ट्रक्टर कॉल होगा तो ओबीj के अंदर A
- 7:02:58की वैल्यू आ जाएगी। तो ओबीj के अंदर A की
- 7:03:01वैल्यू आएगी। तो आपका क्या होगा? A का X
- 7:03:04कॉपी होगा X में। और A का ही Y कॉपी होगा
- 7:03:09Y में। तो यानी कि जो B का Y होगा वो
- 7:03:13इक्वल बन जाएगा किसके? A के Y के। तो आपका
- 7:03:17जो B का Y है यह B का जो Y है यह भी पॉइंट
- 7:03:20करने लग जाएगा A के ही Y पर। बट होना क्या
- 7:03:23चाहिए था? होना क्या चाहिए था?
- 7:03:25एक्सपेक्टेड क्या था कि आपका ये इधर पॉइंट
- 7:03:28ना करे।
- 7:03:30इधर पॉइंट ना करे। ये किसी नई लोकेशन पे
- 7:03:33जहां पर भी टू लिखा हो और उसकी लोकेशन कुछ
- 7:03:36और हो। इसकी लोकेशन 3 2 0 हो सपोज़ और आपका
- 7:03:40ये वाला जो B है वो यहां पॉइंट करना चाहिए
- 7:03:42था। यानी कि B का जो Y है वह यहां पॉइंट
- 7:03:45करना चाहिए था। अगर आप ऐसा कुछ कर देते हो
- 7:03:48तो इसको हम बोलते हैं डीप कॉपी।
- 7:03:53डीप कॉपी मतलब आप ढंग से डीपली कॉपी कर
- 7:03:55रहे हो। ठीक है? डीपली आप एक-एक वेरिएबल
- 7:03:58को उठा के कॉपी कर रहे हो। नई लोकेशन बना
- 7:03:59रहे हो उसकी। ठीक है? तो अगर मैं अपना डीप
- 7:04:04कॉपी का कंस्ट्रक्टर लिखूंगा तो वो कैसे
- 7:04:06लिखूंगा?
- 7:04:08सिंपल इसको कॉपी करते हैं।
- 7:04:12अब हम लिखेंगे
- 7:04:16स्मार्ट
- 7:04:18डीप कॉपी
- 7:04:22नहीं इसको हम लिखेंगे
- 7:04:25और स्मार्ट डीप कॉपी वो कैसे करेगा? हम
- 7:04:28सिंपली y = objॉy नहीं करेंगे। y = objॉy
- 7:04:32क्या कर रहा था? आपका a का y यहां पॉइंट
- 7:04:34कर रहा था। अब जब आप y = objॉy कर रहे थे
- 7:04:37तो ये वाला y सिंपली यहां पॉइंट करने लग
- 7:04:39जा रहा था। हमें ऐसे नहीं करना। हमें एक
- 7:04:41नई लोकेशन बनानी है जिसके अंदर भी टू ही
- 7:04:43लिखा हो और जो नया y है वो इसके इस टू पे
- 7:04:47असाइन होगा। तो हम सिंपली क्या करेंगे?
- 7:04:51हम सिंपली क्या करेंगे?
- 7:04:54हम लिखेंगे y = न्यू इंट
- 7:05:00स्टार obj.Y
- 7:05:09ठीक है? तो हमने क्या करा? हमने क्या करा?
- 7:05:12यहां पे a के y की वैल्यू उठाई। a के
- 7:05:17a के y की वैल्यू उठाई और उस वैल्यू को
- 7:05:21किसी नई लोकेशन पे उठाकर डाल दिया और उसका
- 7:05:24एड्रेस आपने y को दे दिया। ठीक है? यही
- 7:05:28हमने करा। a के y की वैल्यू निकाली। उसका
- 7:05:32एक नई लोकेशन पर असाइन किया और y को वह
- 7:05:35डाल दिया। अब यह होगी आपकी डीप कॉपी। अब
- 7:05:38आपको यह वाली प्रॉब्लम नहीं आने वाली। अब
- 7:05:41अगर मैं इसको
- 7:05:43रन करूंगा तो अब ध्यान से देखो। A का X है
- 7:05:47वन और A का Y कुछ पॉइंटर है। उसकी वैल्यू
- 7:05:50है 20। अब B का X तो वन है पर B के Y की
- 7:05:53वैल्यू अब अलग है। B के Y की जो पॉइंटर है
- 7:05:56वो अलग है। अब वो अलग लोकेशन पे पॉइंट कर
- 7:05:58रहा है। ठीक है? और इसकी वैल्यू भी टू ही
- 7:06:01है। अब आपने जब B के Y को चेंज किया तो B
- 7:06:04का Y तो चेंज हो गया। यहां पर आपने B के Y
- 7:06:06को चेंज किया था। तो B का Y तो चेंज हो
- 7:06:08गया इधर। बट A का Y वही का वही है। A का Y
- 7:06:12चेंज नहीं हुआ। तो दिस इज़ कॉल्ड डीप कॉपी।
- 7:06:15दिस इज़ कॉल्ड डीप कॉपी। और पहले कंपाइलर
- 7:06:18बाय डिफ़ॉल्ट क्या करता है? शैलो कॉपी। अब
- 7:06:20शैलो कॉपी से एक और प्रॉब्लम आती है।
- 7:06:22दिखाऊं बहुत बहुत ही इंपॉर्टेंट प्रॉब्लम
- 7:06:24मेजर प्रॉब्लम
- 7:06:28वो यह है सपोज़ करते हैं। अब हमने आपने
- 7:06:30यहां पे क्योंकि आपने यहां पे हीप पे
- 7:06:32मेमोरी एलोकेट करी है तो क्योंकि मेमोरी
- 7:06:34लीक ना हो आप क्या करोगे इसको डी एलोकेट
- 7:06:37तो आप इसका डी डिस्ट्रक्टर लिखोगे
- 7:06:40तो उसमें आप डिलीट कर दोगे वाई को
- 7:06:45वाई को डिलीट कर दोगे
- 7:06:48अब ध्यान से देखो अब बहुत ही इंपॉर्टेंट
- 7:06:51वाली चीज होने वाली है
- 7:06:54अब हमने क्या करा सपोज करते हैं हमने क्या
- 7:06:57करा सबको हटा देते हैं
- 7:07:00अब एक काम करते हैं। हम ABC स्टार A यानी
- 7:07:03कि एक पॉइंटर बनाते हैं। इसको बोलते हैं
- 7:07:05न्यू ABC 1 2 ठीक है? और अब आप ABC बनाओगे
- 7:07:11B = A लिख दोगे। ठीक है? A स्टार A लिख
- 7:07:14दोगे।
- 7:07:16ठीक है? अब हम क्या करेंगे? डिलीट कर देते
- 7:07:18हैं A को।
- 7:07:21ठीक है? और बी को प्रिंट कराने की कोशिश
- 7:07:23करते हैं।
- 7:07:26उसके बाद जब रिटर्न ज़ीरो होगा तो बी अपने
- 7:07:29आप ही स्टैक से अनवाइंड हो जाएगा। बी अपने
- 7:07:30आप डिलीट हो जाएगा। अब देखते हैं ये क्या
- 7:07:32प्रॉब्लम करेगा। अभी क्या हो रही है आपकी
- 7:07:34डंब डंब कॉपी कंस्ट्रक्टर कॉल हो रखा है।
- 7:07:39है ना? यह कॉल होगा ना आपका।
- 7:07:42यह कॉल होगा। तो अगर मैं इसको अब उठाकर
- 7:07:45कंपाइल करूंगा
- 7:07:47और रन करने की कोशिश करूंगा तो आपके कुछ
- 7:07:50ऐसे आ रहा है मेलॉक डबल फ्री ऑफ ऑब्जेक्ट
- 7:07:53दिस
- 7:07:55ध्यान से देखते हैं।
- 7:07:58ध्यान से पढ़ते हैं। हमने क्या करा? हमने
- 7:08:01क्या करा? हमने एक ए बनाया। A जो कि ABC
- 7:08:04टाइप का है। यह एक पॉइंटर है। ठीक है? और
- 7:08:07हिप के अंदर किसी लोकेशन पर A को पॉइंट
- 7:08:11करा दिया। ठीक है? और इसके अंदर आपका x
- 7:08:15स्टोर होगा जो कि वन है और एक स्टार y
- 7:08:18स्टोर होगा और स्टार y किसी एक हिप की
- 7:08:21लोकेशन पे जिसका नाम 302 लगा लेते हैं उस
- 7:08:24पे पॉइंट कर रहा होगा इसकी वैल्यू टू
- 7:08:25होगी। ठीक है? इस लाइन से यही काम होगा।
- 7:08:28इस लाइन से यही काम होगा। उसके बाद आपने
- 7:08:30एक स्टक पे एक ऑब्जेक्ट बनाया a b c एक
- 7:08:32ऑब्जेक्ट बनाया सिंपली आपने a b c b ठीक
- 7:08:36है? और यह b क्या है? यह b स्टैक पे होगा।
- 7:08:38B का B को आपने बोला B = स्टार A B =
- 7:08:43स्टार A यह लिखा आपने B = स्टार A अब यहां
- 7:08:47होगी शैलो कॉपी। शैलो कॉपी का मतलब आपका
- 7:08:50जो B है B का जो X है वह तो हो जाएगा वन
- 7:08:53और जो B का जो Y है वो आपका पॉइंट कर रहा
- 7:08:58होगा Y जो पॉइंटर है वो आपका पॉइंट कर रहा
- 7:09:00होगा इस लोकेशन पे।
- 7:09:03ठीक है? 302 पे। अब आपने बोला डिलीट A ए
- 7:09:07को डिलीट कर दो भाई साहब। अब जब ए डिलीट
- 7:09:09होने जाएगा तो A का डिस्ट्रक्टर कॉल होगा।
- 7:09:13जब A का डिस्ट्रक्टर कॉल होगा तो A खुद
- 7:09:16डिलीट होगा।
- 7:09:18एक X डिलीट होगा। अब A का जब डिस्ट्रक्टर
- 7:09:22कॉल हुआ है तो डिलीट हमने Y है। आपने Y इस
- 7:09:25लोकेशन को भी डिलीट कर दिया। यह लोकेशन
- 7:09:28डिलीट हो गई। यानी कि आपने उठाकर इस लाइन
- 7:09:31से A का पूरा वजूद ही खत्म कर दिया। उसके
- 7:09:33बाद आपने बोला B डॉट प्रिंट। अब जब B डॉट
- 7:09:36प्रिंट को आप कॉल करोगे तो B डॉट प्रिंट।
- 7:09:39अब B डॉट प्रिंट क्या कर रहा है? B डॉ.
- 7:09:41प्रिंट X को प्रिंट कर रहा है। तो आपका X
- 7:09:43तो प्रिंट हो गया। B डॉट प्रिंट Y को Y को
- 7:09:47कॉल कर रहा था। Y को प्रिंट कर रहा है। Y
- 7:09:49यहां पे 302 था ना। Y तो प्रिंट आपका हो
- 7:09:53गया। ठीक है? बट Y का कॉन्टेंट ये ज़ीरो
- 7:09:56बोल रहा है। बट पहले Y का कॉन्टेंट क्या
- 7:09:58था? टू। अब y का कांटेक्ट वो जीरो बोल रहा
- 7:10:01है। वह बोल रहा है कि 302 पर कुछ है ही
- 7:10:02नहीं। भाई साहब कुछ है ही नहीं। उसके बाद
- 7:10:05जब आपका रिटर्न जीरो हुआ होगा तो रिटर्न
- 7:10:08ज़ीरो के टाइम यह जो बी बी आपका ऑब्जेक्ट
- 7:10:10है यह भी डिलीट हो रहा होगा मेमोरी से। जब
- 7:10:13यह मेमोरी से डिलीट होने जाएगा। अब यह
- 7:10:15मेमोरी से डिलीट होने गया। भाई बी डिलीट
- 7:10:17करना है। यह डिलीट कर दिया हमने बी। बी
- 7:10:19डिलीट कर दिया। B का X डिलीट करा। अब जब B
- 7:10:22का Y डिलीट करने जाओगे आप। B का Y डिलीट
- 7:10:24करने जाओगे तो Y कैसे डिलीट हो रहा है?
- 7:10:26डिलीट भाई क्योंकि हिप पे था तो आपने इसको
- 7:10:28एक्सप्लसिटली जाके डिलीट करने की कोशिश
- 7:10:30करी है। अब जब आप इसको डिलीट करने जाओगे
- 7:10:32आप बोलोगे 302 भाई इस लोकेशन पे जो है
- 7:10:35उसको डिलीट कर दो। बट यह तो आप जब ए को
- 7:10:39डिलीट कर रहे थे उस टाइम ही आप डिलीट कर
- 7:10:41चुके थे इसको इस पॉइंटर को। अब क्योंकि उस
- 7:10:43टाइम पे ही आप इसको डिलीट कर चुके थे। तो
- 7:10:45इसलिए यह बोल रहा है आपका कंपाइलर बोल रहा
- 7:10:47है डबल फ्री। आप इस ऑब्जेक्ट को दो बार
- 7:10:50फ्री कर रहे हो। ठीक है? तो इसलिए आपकी
- 7:10:53शैलो कॉपी बहुत प्रॉब्लमैटिक होती है। ठीक
- 7:10:55है? तो आप जब भी पॉइंटर्स यूज़ कर रहे हो
- 7:10:58तो आप शैलो कॉपी नहीं करोगे। आप डीप कॉपी
- 7:11:00क्यों यूज़ करोगे? अब जब हम इसमें डीप कॉपी
- 7:11:02यूज़ करेंगे तो ऐसी कोई प्रॉब्लम नहीं
- 7:11:04आएगी।
- 7:11:06तो ऐसी कोई प्रॉब्लम नहीं आएगी। ध्यान से
- 7:11:08देखो।
- 7:11:11कोई दिक्कत नहीं है। कोई प्रॉब्लम नहीं
- 7:11:13आई। सिंपल A बना होगा। ठीक है? A बना
- 7:11:16होगा। A का Y यहां कहीं होगा। B बना होगा।
- 7:11:21B का Y यहां कहीं अलग जगह पर होगा। यहां
- 7:11:23टू लिखा होगा। यहां टू होगा। जब A डिलीट
- 7:11:25होगा तो A का यह टू डिलीट हो जाएगा। जब B
- 7:11:28डिलीट होगा क्योंकि B का टू किसी और
- 7:11:30लोकेशन पे है य पे तो ये आराम से डिलीट हो
- 7:11:32जाएगा। देयर इज़ नो प्रॉब्लम ऑफ़ डबल फ्री।
- 7:11:35ठीक है? तो आई होप आपको ये चीज़ समझ आई
- 7:11:37होगी। शैलो कॉपी डीप कॉपी समझ आई होगी।
- 7:11:38बहुत ही इंपॉर्टेंट कांसेप्ट है। ठीक है?
- 7:11:41बहुत ही इंपॉर्टेंट कांसेप्ट है। इंटरव्यू
- 7:11:43पर्सपेक्टिव से भी बहुत ही ज्यादा
- 7:11:45इंपॉर्टेंट कांसेप्ट है। बहुत ही बढ़िया।
- 7:11:47मिलते हैं ऐसी किसी नेक्स्ट वीडियो में।
- 7:11:48तब तक के लिए गुड बाय। इस वीडियो में हम
- 7:11:50देखने वाले हैं कैन कंस्ट्रक्टर बी मेड
- 7:11:52प्राइवेट। ठीक है? यह बहुत ही इंपॉर्टेंट
- 7:11:54क्वेश्चन है इंटरव्यू पर्सपेक्टिव से। ठीक
- 7:11:56है? तो सिंपल सी बात है। सबसे पहले देखते
- 7:11:59हैं सीटर क्यों लिखा है मैंने? तो बता
- 7:12:01देता हूं मैं इंडस्ट्री में या नॉर्मली जो
- 7:12:03C++ को थोड़ा अच्छे से जानते हैं वो
- 7:12:05कंस्ट्रक्टर को सीटर बोलते हैं और
- 7:12:08डिस्ट्रक्टर को डीटर बोलते हैं। तो सीट और
- 7:12:10डीटोर अगर कोई इंटरव्यूअर तो कब से नहीं
- 7:12:12बोलेगा आई होपफुली। है ना? मैं तो नहीं
- 7:12:15बोलता कभी भी किसी से ऐसे सीटर। बट आप समझ
- 7:12:18लो सीटोर होता है कंस्ट्रक्टर डिटोर होता
- 7:12:20है डिस्ट्रक्टर ठीक है तो क्या सीटोर को
- 7:12:22कंस्ट्रक्टर को हम प्राइवेट बना सकते हैं
- 7:12:25ठीक है इस पे एक बार समझते हैं सीधा जंप
- 7:12:27करते हैं कोड पे और देखते हैं कैसे हम कर
- 7:12:29सकते हैं कि नहीं ठीक है क्वेश्चन का आंसर
- 7:12:31यस और नो है ठीक है रीजन के साथ एक बार
- 7:12:34आते हैं तो सबसे पहले मैं एक क्लास बना
- 7:12:36देता हूं क्लास बना देता हूं बॉक्स नाम की
- 7:12:39ठीक है एक ब्लॉग बॉक्स नाम की क्लास बना
- 7:12:41देते हैं ये मेरी क्लास हो गई मैं इसमें
- 7:12:44एक प्राइवेट मेंबर ले लेता हूं विड्थ ठीक
- 7:12:46है? बॉक्स की विड्थ है।
- 7:12:49ठीक है? और स्क्वायर बॉक्स मान लेते हैं
- 7:12:51इसको विड्थ ही लेते हैं। बस समझने के
- 7:12:52पर्पस से ले रहे हैं। बस हम पब्लिक फंक्शन
- 7:12:55बनाते हैं। हमें सेटर गेटर लिखने पड़ेंगे।
- 7:12:57तो एक
- 7:13:00गेटर लिखते हैं। गेट विड्थ
- 7:13:04नॉर्मली विड्थ ऐसे गेटर फंक्शनंस को मैं
- 7:13:06कॉन्स्ट बनाता हूं ताकि
- 7:13:09ताकि अगर कॉन्स्ट
- 7:13:12ऑब्जेक्ट से मैं इसको कॉल कर रहा हूं तो
- 7:13:14एरर ना दे। ठीक है? क्योंकि कॉस्ट मैं
- 7:13:16बनाना चाहता हूं क्योंकि यह जो मेंबर ये
- 7:13:18जो मेंबर फंक्शन है यह कभी विड्थ को चेंज
- 7:13:20नहीं करेगा। कोई भी मेंबर को चेंज नहीं
- 7:13:22करेगा। ठीक है? कॉस्ट आई होप कॉस्ट में ये
- 7:13:24कॉस्ट क्यों बनाया है? ये आपको कंफ्यूजन
- 7:13:26नहीं होगी। अगर है तो एक बार रिवाइज़
- 7:13:28करेंगे हम। कौन सी वीडियो को? कॉस्ट
- 7:13:30कीवर्ड इन C++ को। ठीक है? इसमें हम विड्थ
- 7:13:33रिटर्न करते हैं।
- 7:13:38बहुत ही बढ़िया। ऐसे ही हम क्या लिखेंगे?
- 7:13:39अब एक कैटर वॉइड
- 7:13:43सेटर सेट विड्थ
- 7:13:47सेट करेंगे
- 7:13:49विड्थ इक्वल टू यहां हमें एक आर्गुमेंट
- 7:13:53लेना पड़ेगा वेल
- 7:13:56वैल्यू। ठीक है? तो हमारा काम हो गया।
- 7:13:58हमने सेटर कैटर लिख दिए। बहुत ही बढ़िया।
- 7:14:01अब अब इसका कंस्ट्रक्टर बनाते हैं हम।
- 7:14:05बॉक्स
- 7:14:07एंड
- 7:14:09विड्थ
- 7:14:12कैसे लिखते हैं हम इनिशेशन लिस्ट विड्थ
- 7:14:16को हम सेट करेंगे अंडरस्कोर w ऐसे करके
- 7:14:19खत्म ठीक है ये आपने कंस्ट्रक्टर लिख दिया
- 7:14:25ठीक है तो अगर अब मैं बॉक्स को बनाऊंगा
- 7:14:28बॉक्स ए नहीं बॉक्स फाइव
- 7:14:34क्या-क्या हो जा रहा है ये
- 7:14:38ठीक है तो बॉक्स बन गया आपका। ठीक है? अगर
- 7:14:39आप इसको कंपाइल करोगे, कंपाइल करोगे और रन
- 7:14:42करने की कोशिश करोगे, हम यहां पे रन करते
- 7:14:43हैं अ
- 7:14:46बी बी देना पड़ेगा।
- 7:14:50बी डॉट
- 7:14:52गेट विड्थ
- 7:14:58ठीक है। अब मैं कंपाइल करूंगा 9 डॉट।
- 7:15:06ठीक है? बहुत ही बढ़िया। फाइव प्रिंट हो
- 7:15:08रहा है बहुत अच्छे से। तो हमें समझ आया कि
- 7:15:10हमने काम कर दिया। अब तक नॉर्मल कुछ भी
- 7:15:11नया नहीं किया है। सब कुछ वही है। अब
- 7:15:13मैंने बोला कि कंस्ट्रक्टर को प्राइवेट
- 7:15:15बना देते हैं।
- 7:15:19प्राइवेट बना दिया। अब यहां पे एरर आ रहा
- 7:15:21है। एरर क्यों आ रहा है? देखते हैं क्या
- 7:15:24एरर आता है। ठीक है? क्लियर करते हैं। एरर
- 7:15:26समझते हैं क्या बोल रहा है। एरर बोल रहा
- 7:15:28है कॉलिंग ए प्राइवेट कंस्ट्रक्टर ऑफ
- 7:15:30क्लास बॉक्स इंप्लसिट डिक्लेरेशन
- 7:15:34इंप्लसिटली डिक्लेयर्ड प्राइवेट हियर। ठीक
- 7:15:36है? ठीक है? अभी खुद बोल रहा है, कंपाइलर
- 7:15:38बोल रहा है कि भाई साहब आप प्राइवेट
- 7:15:39कंस्ट्रक्टर को कॉल कर रहे हो। ठीक है? और
- 7:15:42आपने जानबूझकर इंप्लसिट मतलब जानबूझकर
- 7:15:45जानबूझकर आपने यहां पर इसको प्राइवेट किया
- 7:15:48गया है। अब क्योंकि कंपाइलर समझता है कि
- 7:15:50आपने प्राइवेट किया है इसको। ठीक है? तो
- 7:15:53इसका मतलब मैं बोल सकता हूं कि प्राइवेट
- 7:15:54कंस्ट्रक्टर वर्क करता है। बट
- 7:15:57कुछ इनिशलाइज़ नहीं करेगा। तो अगर मैं इसको
- 7:16:01कर दूं कमेंट और अब कंपाइल करने की कोशिश
- 7:16:03करूं तो कंपाइलेशन में कोई प्रॉब्लम नहीं
- 7:16:06आएगी। कुछ प्रिंट भी नहीं होगा कि हमने
- 7:16:08कुछ एक्सेस ही नहीं किया है।
- 7:16:11बट कंपाइलेशन में कोई प्रॉब्लम नहीं है।
- 7:16:12तो इसका आंसर कि कैन कंस्ट्रक्टर बी मेड
- 7:16:15प्राइवेट? इसका आंसर होगा यस। इट कैन बी
- 7:16:17मेड प्राइवेट। ठीक है? तो हम इसका आंसर
- 7:16:20लिख देते हैं सबसे पहले। तो ग्रीन में
- 7:16:24यस।
- 7:16:26ठीक है? अब समझते हैं कि भैया आप बोलोगे
- 7:16:30ठीक है ये तो बात हमें समझ आ गई कि
- 7:16:31प्राइवेट आपने बनाया है और इवन आपका
- 7:16:33कंपाइलर भी बोल रहा है कि इंप्लसिटली आपने
- 7:16:35प्राइवेट किया है भाई साहब इसको तो कुछ तो
- 7:16:37जरूरत हुई होगी आपको इसलिए किया आपने तो
- 7:16:40आप बोलोगे कि यार ऐसा क्यों किया है ठीक
- 7:16:42है ऐसा क्या यूज़ केस बन सकता है हम क्यों
- 7:16:44करें ऐसा वो समझते हैं कैसे आप ऐसा समझते
- 7:16:48हैं कि सपोज आपने बॉक्स क्लास तो बनाई है
- 7:16:50बट आप चाहते हो कि इसको ना या आपने कहीं
- 7:16:53क्लास बनाई है इसको आप मेन में यानी कि
- 7:16:55कहीं भी सपोज कर रहे हैं या आप आप कोई
- 7:16:58फंक्शन यूज कर रहे हो या कोई लाइब्रेरी
- 7:17:00यूज़ कर रहे हो उसमें यह क्लास है बॉक्स तो
- 7:17:02आप बॉक्स आप चाहते हो कि बॉक्स का ना
- 7:17:04डायरेक्ट कोई
- 7:17:06बना ना पाए
- 7:17:08बॉक्स का डायरेक्टली कोई भी कोई ऑब्जेक्ट
- 7:17:12ना बना पाए ये आपकी रिक्वायरमेंट है ठीक
- 7:17:14है या आप सो ये आप सोचना चाहते हो कि हां
- 7:17:16ऐसा हो तो ये हमने कर दिया कि बॉक्स को
- 7:17:19डायरेक्टली नहीं बनाया नहीं बना सकते ठीक
- 7:17:22है बट आप बोल रहे हो कि बॉक्स को ना एक
- 7:17:25क्लास है बॉक्स फैक्ट्री उसके थ्रू बनाओ।
- 7:17:31बॉक्स का एक क्लास है बॉक्स फैक्ट्री उसके
- 7:17:32थ्रू बनाओ। तो एक बॉक्स क्लास बनाई हमने
- 7:17:35बॉक्स बॉक्स फैक्ट्री नाम से और हमने
- 7:17:37वेरिएबल ले लिया इंट
- 7:17:40काउंट। ठीक है? काउंट का क्या पर्पस है?
- 7:17:42थोड़ी देर में समझेंगे। पब्लिक बनाया।
- 7:17:45हमने बोला कि बॉक्स
- 7:17:48गेट ए बॉक्स एक बॉक्स दे दो। इंट विड्थ ली
- 7:17:55रिटर्न कर दिया।
- 7:17:59अब यहां से मैं बॉक्स कॉल करना चाहता हूं।
- 7:18:01बॉक्स W बोलोगे भैया यहां से भी कॉल नहीं
- 7:18:04होगा। मैंने बोला इसको फ्रेंड फंक्शन बना
- 7:18:06देते हैं। फ्रेंड क्लास सॉरी फ्रेंड क्लास
- 7:18:08बना देते हैं। फ्रेंड क्लास बॉक्स
- 7:18:12फैक्ट्री।
- 7:18:16ठीक है? अब बॉक्स ने बोला बॉक्स ने बोला
- 7:18:20कि मुझे ना ध्यान से समझना यह यूज़ केस
- 7:18:22बहुत आता है कि मुझे ना सिर्फ कोई और
- 7:18:26क्लास जिसका नाम बॉक्स फैक्ट्री है वही
- 7:18:28इनिशियलाइज कर सकता है। वही मेरे नाम के
- 7:18:30ऑब्जेक्ट्स बना सकता है। पर मेन मेन आप
- 7:18:34नहीं कर सकते या कोई और नहीं कर सकता। कोई
- 7:18:37और क्लास बनाऊं मैं। बॉक्स फैक्ट्री के
- 7:18:38अलावा कोई और क्लास बनाऊं वो भी नहीं कर
- 7:18:40सकती। क्योंकि बॉक्स ने सिर्फ फ्रेंड किसे
- 7:18:42डिक्लअर किया है? बॉक्स फैक्ट्री को।
- 7:18:45ठीक है? और हमने बोला यहां प्लस प्लस
- 7:18:48काउंट
- 7:19:00ठीक है। अब आप बोलोगे कि भाई बॉक्स
- 7:19:03फैक्ट्री
- 7:19:05बी फैक्ट।
- 7:19:08ठीक है? अब अब आपके आप बॉक्सेस बना सकते
- 7:19:11हो। बॉक्स बी इक्वल टू बी फैक्ट डॉट गेट ए
- 7:19:15बॉक्स
- 7:19:1710 साइज का बॉक्स दे दो या फाइव का ही ले
- 7:19:19लेते हैं।
- 7:19:22सी आउट P डॉट
- 7:19:26गेट विड्थ।
- 7:19:31ठीक है? तो ये कुछ तरीका है इसको
- 7:19:34इनिशियलाइज़ करने का। ठीक है? आपने
- 7:19:36कंस्ट्रक्टर को प्राइवेट तो बना दिया बट
- 7:19:38प्राइवेट बनाने का मतलब ऐसा नहीं है कि आप
- 7:19:41उसके ऑब्जेक्ट्स नहीं बना सकते।
- 7:19:42ऑब्जेक्ट्स अभी बना सकते हो। आप किसी और
- 7:19:44क्लास के थ्रू बना सकते हो। तो इसका पर्पस
- 7:19:46ये है सपोज़ आप बॉक्स फैक्ट्री आपने क्यों
- 7:19:48बनाया? आप काउंट रखना चाहते थे कि यार
- 7:19:50कितने बॉक्सेस बने हैं। ठीक है? प्रोग्राम
- 7:19:53में कितने बॉक्सेस बने हैं? उसका काउंट
- 7:19:55रखना चाहते थे आप। ठीक है? तो क्योंकि आप
- 7:19:58काउंट यहां पे रख रहे हो। तो इसलिए आपने
- 7:19:59एक काउंट वेरिएबल ले लिया। ठीक है? काउंट
- 7:20:02वेरिएबल ले लिया। तो बॉक्स फैक्ट्री आपको
- 7:20:04कभी भी बता देगी कि कितने बॉक्सेस
- 7:20:05इनिशलाइज हुए हैं। हुए हैं। कितने बॉक्सेस
- 7:20:07बनाए गए हैं। ठीक है? ठीक है? और ऑलदो ऐसा
- 7:20:11होना चाहिए जब भी बॉक्स फैक्ट्री बनेगी तो
- 7:20:13बॉक्स जभी भी कोई बॉक्स डाई होगा यानी कि
- 7:20:15ये जब स्कोप से आउट होगा तो बॉक्स काउंट
- 7:20:18माइनस माइनस भी होना चाहिए। बट वो थोड़ा
- 7:20:20एडवांस कांसेप्ट है। उस पे अभी नहीं जा
- 7:20:21रहे हैं। अभी हम यही समझ रहे हैं कि
- 7:20:23कंस्ट्रक्टर को प्राइवेट बनाया जा सकता है
- 7:20:25कि नहीं? यस कंस्ट्रक्टर को प्राइवेट
- 7:20:27बनाया जा सकता है। कंस्ट्रक्टर प्राइवेट
- 7:20:29बना दिया। ठीक है? एक और यूज़ केस होता है
- 7:20:32इसका। ठीक है? सिंगल टर्न क्लास जब हम
- 7:20:34बनाते हैं। ठीक है? यह थोड़े एडवांस
- 7:20:35कांसेप्ट है। डिजाइन पैटर्न से रिलेटेड
- 7:20:37कांसेप्ट है। सिंगल टर्न क्लास।
- 7:20:43ठीक है? जिसको थोड़ा इंटरेस्ट हो डिजाइन
- 7:20:45पैटर्न साइड में जो कि मुझे नहीं लगता
- 7:20:46डीएसए में ज्यादा इंपॉर्टेंट है। बट अगर
- 7:20:48जिसको इंपॉर्टेंट लगे, जिसको लग रहा हो कि
- 7:20:51थोड़ा इंटरेस्ट है वो एक बार जा के पढ़ना।
- 7:20:52सिंगल टर्न क्लास क्या होता है? ठीक है?
- 7:20:55सिंगल टर्न क्लास क्या होता है? इसको
- 7:20:56पढ़ना। काफी इंटरेस्टिंग कांसेप्ट है।
- 7:20:58उसमें भी आपके कंस्ट्रक्टर को प्राइवेट
- 7:21:00बना देते हैं। ठीक है? ठीक है?
- 7:21:03कंस्ट्रक्टर को प्राइवेट बना देते हैं। तो
- 7:21:04यही हो गया आपका कंस्ट्रक्टर को प्राइवेट
- 7:21:06बना सकते हैं। क्या कंस्ट्रक्टर को
- 7:21:07प्राइवेट बना सकते हैं? हां, बना सकते
- 7:21:08हैं। उसको सिंपली आप प्राइवेट स्कोप में
- 7:21:10रख दोगे। किसी और क्लास के थ्रू आप उसको
- 7:21:13एक्सेस कर सकते हो। अभी भी आप ऑब्जेक्ट्स
- 7:21:15क्रिएट कर सकते हो। ठीक है? अब
- 7:21:17कंस्ट्रक्टर से याद आया कि कंस्ट्रक्टर से
- 7:21:19रिलेटेड ना काफी अच्छा एक मैं बोलूंगा
- 7:21:23रिसोर्स है जो कि आप सर्च करोगे
- 7:21:25कंस्ट्रक्टर्स C++ Microsoft तो ये आपका
- 7:21:28एक काफी अच्छा आर्टिकल है जो कि learn
- 7:21:30Microsoft में है। ठीक है? जिसको मैं आज
- 7:21:32भी कई बार रेफर करता हूं जब मैं ऑफिस में
- 7:21:34काम कर रहा होता हूं। तो ये बहुत अच्छा
- 7:21:38कांसेप्ट है। इसके अंदर बहुत सारे
- 7:21:39कांसेप्ट्स दिए हुए हैं कंस्ट्रक्टर से
- 7:21:41रिलेटेड। तो काफी अच्छी-अच्छी लर्निंग
- 7:21:43आपको सीखने को मिलेंगी। बट आपको लर्निंग
- 7:21:46पर्पस से देखना है। बहुत ज्यादा डेप्थ में
- 7:21:48घुसने की कोशिश मत करना। ठीक है? डिपेंड
- 7:21:50करता है। अगर आपका इंटरेस्ट है तो आप घुस
- 7:21:52सकते हो। वरना ठीक है? मतलब जितना पढ़ाया
- 7:21:53गया है उतना में बहुत है आपके लिए। ठीक
- 7:21:55है? तो आई होप आपको चीजें समझ आई होंगी।
- 7:21:57कंस्ट्रक्टर प्राइड बना सकते हैं। यस बना
- 7:21:58सकते हैं। ठीक है? तो मिलते हैं ऐसी किसी
- 7:22:00नेक्स्ट क्लास में। तब तक के लिए गुड बाय।
- 7:22:02इस वीडियो में हम देखने वाले हैं फ्रेंड
- 7:22:04कीवर्ड इन C++। बहुत ही इंपॉर्टेंट
- 7:22:06कांसेप्ट है इंटरव्यू पर्सेक्टिव से। बट
- 7:22:08मैं बोलूं रियल वर्ल्ड में बहुत ज्यादा कम
- 7:22:11यूज़ होता है। इसको प्रेफर नहीं करते यूज़
- 7:22:13करना। ठीक है? क्यों नहीं करते वह देखेंगे
- 7:22:15हम। बट इंटरव्यू पर्सपेक्टिव से आपको पढ़ना
- 7:22:17है क्योंकि C++ का काफी इंपॉर्टेंट
- 7:22:20कांसेप्ट है और बहुत सारे यूज़ केसेस हो
- 7:22:22सकते हैं जहां पे आपको इसका यूज़ करना पड़े।
- 7:22:25ठीक है? एक बार फटाफट से फॉर्मली डेफिनेशन
- 7:22:27देखते हैं। फिर फटाफट से हम एक बार इसको
- 7:22:28कोड करके देखेंगे। बढ़िया से समझ आ जाएगा।
- 7:22:30ठीक है? फ्रेंड इज़ अ कीवर्ड इन C++ दैट इज़
- 7:22:33यूज़्ड टू शेयर द इनेशन ऑफ़ अ क्लास दैट वाज़
- 7:22:36प्रीवियसली हिडन। ठीक है? यानी कि एक
- 7:22:39क्लास की इंफॉर्मेशन शेयर करने के काम आता
- 7:22:42है। ठीक है? मतलब फॉर एग्जांपल द प्राइवेट
- 7:22:45मेंबर्स ऑफ ए क्लास आर हिडन। अब आपको सबको
- 7:22:47पता है कि प्राइवेट मेंबर्स जो होते हैं
- 7:22:48ना वह बाहर एक्सेसबल नहीं होते क्लास के।
- 7:22:51उसके जैसे आपने कोई मेंबर वेरिएबल बनाया x
- 7:22:55और आपने उसको प्राइवेट बना दिया। तो आपको
- 7:22:57एक गेटर सेटर लिखना पड़ेगा ताकि आप उसको
- 7:22:59एक्सेस कर पाओ। है ना? तो प्राइवेट मेंबर
- 7:23:02आप हिडन होते हैं। एक्सेस नहीं कर सकते।
- 7:23:03कोई और क्लास एक्सेस नहीं कर सकते। एंड
- 7:23:05कैन नॉट बी मॉडिफाइड एक्सप्लसिटली यूज़िंग
- 7:23:07अदर दैन गेट सेटर। सिमिलरली द प्रोटेक्टेड
- 7:23:10मेंबर्स आर हिडन फ्रॉम द क्लास दैट अदर
- 7:23:12देन इट्स चिल्ड्रन क्लासेस कैन नॉट सी तो
- 7:23:15इसका मतलब क्या है कि अगर कोई प्राइवेट
- 7:23:17वेरिएबल बनाया आपने ठीक है प्राइवेट
- 7:23:20वेरिएबल बनाया इंट x ठीक है ऐसे ही
- 7:23:22प्रोटेक्टेड बनाया सपोज
- 7:23:26इंट y
- 7:23:28ठीक है और यह क्लास ए है तो अगर मैं क्लास
- 7:23:32बी बनाता हूं ठीक है क्लास बी बनाता हूं
- 7:23:34और अगर मैं सिंपली यहां पर अगर मैं क्लास
- 7:23:38A का कोई वेरिएबल बना दूं। ठीक है? क्लास
- 7:23:41A का वेरिएबल बना देते हैं। सपोज करते हैं
- 7:23:42हम बनाते हैं A a बना दूं। ठीक है? तो
- 7:23:45इसके किसी भी फंक्शन के अंदर इसके किसी भी
- 7:23:47फंक्शन के अंदर मैं A.X को यूज़ नहीं कर
- 7:23:50सकता। क्यों नहीं यूज़ कर सकता? क्योंकि यह
- 7:23:54प्राइवेट है। सिमिलरली अगर B इस तरीके से
- 7:23:57कुछ ना हो। बी आपका हो
- 7:24:00कि आपने
- 7:24:02प्रोटेक्टेड करके ए को इन्हहेरिट किया हुआ
- 7:24:05है। ए को इन्हहेरिट करके आपने बी बनाया
- 7:24:08हुआ है। तो क्या होगा? तो आप बी क्लास बी
- 7:24:12के अंदर y ही तो विज़िबल होगा। यानी क्लास
- 7:24:14B का सपोज कोई फंक्शन है वॉइड प्रिंट।
- 7:24:18इसमें आप आर्गुमेंट में A ले रहे हो। ठीक
- 7:24:21है? तो आप A डॉट व को तो एक्सेस कर पाओगे।
- 7:24:24क्यों कर पा रहे हो? क्योंकि यह
- 7:24:26प्रोटेक्टेड इसे इनहेरिट कर रहा है। तो ए
- 7:24:29के प्रोटेक्टेड जितने मेंबर्स होंगे वह
- 7:24:30एक्सेसबल हैं। ठीक है? बट ऐसा कोई यूज़ केस
- 7:24:34आ जाए जहां पर आपको प्राइवेट भी दिखाने
- 7:24:36हैं किसी दूसरी क्लास को तो आप कैसे
- 7:24:38करोगे? तो इसी काम के लिए प्राइवेट
- 7:24:41मेंबर्स दिखाने के लिए कि आप प्राइवेट
- 7:24:43मेंबर्स का जो एक्सेसिबिलिटी है या फिर
- 7:24:46उसकी जो विजिबिलिटी है उसको आप दिखाना
- 7:24:48चाहते हो किसी और को भी। प्राइवेट को
- 7:24:50दिखाना चाहते हो किसी और को भी, किसी और
- 7:24:52क्लास को, किसी और फंक्शन को। तो उस केस
- 7:24:54में हम यूज करते हैं आपके फ्रेंड।
- 7:24:57कीवर्ड को। ठीक है? फटाफट से एक बार कोड
- 7:25:00करके समझते हैं। तो मेरे ख्याल से ज्यादा
- 7:25:02अच्छे से क्लियर होगा। ठीक है? सपोज करते
- 7:25:04हैं मैंने एक क्लास बनाई क्लास ए। ठीक है?
- 7:25:08इसमें एक प्राइवेट मेंबर बनाया इसका
- 7:25:11इंट एक्स। ठीक है? ये प्राइवेट मेंबर बना
- 7:25:15लिया।
- 7:25:17अब हम क्या कर रहे हैं? एक पब्लिक मेंबर
- 7:25:19बनाते हैं। पब्लिक में क्या कर रहे हैं
- 7:25:21हम? हम एक कंस्ट्रक्टर लिख देते हैं। इसका
- 7:25:23कंस्ट्रक्टर लिख देते हैं। कंस्ट्रक्टर
- 7:25:25कैसे लिखेंगे? इंट कोई वैल्यू ली मैंने।
- 7:25:29ठीक है? x को इनिशियलाइज़ कराया वैल्यू से।
- 7:25:32इसको क्या बोलते हैं? इनिशलाइज़
- 7:25:33इनिशलाइज़ेशन लिस्ट। राइट? ठीक है? मैंने
- 7:25:37एक गेटर लिखा। गेट X। ठीक है? गेट X लिखा।
- 7:25:42इसको मैंने
- 7:25:44रिटर्न कर दिया x। सिमिलरली मैं सेटर
- 7:25:47लिखूंगा। इसमें मैं लिख देता हूं सेट x एक
- 7:25:50वैल्यू ली। और मैंने क्या करा? x = उस
- 7:25:55वैल्यू के बराबर कर दिया। ठीक है? यह मेरी
- 7:25:58क्लास बन गई सिंपल। ठीक है? अब सपोज़ करते
- 7:26:02हैं।
- 7:26:05अब सपोज़ करते हैं मेरे पास एक और क्लास
- 7:26:06बना दूं मैं क्लास बी।
- 7:26:12ठीक है? इसके अंदर मैं कोई डिक्लेरेशन
- 7:26:14नहीं दे रहा बट पब्लिक लिखा। अब क्लास बी
- 7:26:16क्या करती है? क्लास बी ए के डेटा मेंबर्स
- 7:26:19को प्रिंट करती है। ठीक है? ठीक है? सपोज
- 7:26:21करते हैं ऐसा कोई यूज़ केस है। तो मैं
- 7:26:22क्लास B के अंदर A के डेटा मेंबर्स को
- 7:26:24प्रिंट कराना चाहता हूं। तो मैंने फंक्शन
- 7:26:25लिखा यहां प्रिंट
- 7:26:28प्रिंट और यहां पे मैंने कॉस्ट A
- 7:26:31ए A लिया।
- 7:26:33ठीक है? A क्लास का एक ऑब्जेक्ट लिया और
- 7:26:36लेने के बाद मैंने उसको प्रिंट कराने की
- 7:26:38कोशिश करी है। मैंने बोला भाई प्रिंट कर
- 7:26:40दो A डॉट गेट X।
- 7:26:49ठीक है? यहां पर फटाफट से लिखते हैं। क्या
- 7:26:51लिखना है हमें यहां पे? यहां हम A को
- 7:26:52इनिशलाइज कर देते हैं। इसकी वैल्यू फाइव
- 7:26:54डाल देते हैं। ठीक है? यह मैंने फाइव कर
- 7:26:56दिया। एक एक ऑब्जेक्ट बन गया A ए क्लास का
- 7:26:59A नाम का एक ऑब्जेक्ट बन गया। ठीक है? और
- 7:27:02मैं एक ऑब्जेक्ट बनाता हूं B क्लास का B
- 7:27:03नाम का ऑब्जेक्ट। और मैं बोल रहा हूं B
- 7:27:05डॉट प्रिंट। और B डॉट प्रिंट में मैं A
- 7:27:08भेज रहा हूं। ठीक है? अब देखते हैं इस
- 7:27:10सिनेरियो को समझते हैं क्या हो रहा है। ये
- 7:27:13हमने क्या गड़बड़ी करी है यहां पर। ओके।
- 7:27:17ठीक है? ठीक है? अब इस सिनेरियो को समझते
- 7:27:18हैं। क्या करा हमने? हमने ए क्लास बनाई
- 7:27:20है। ए क्लास के अंदर एक प्राइवेट मेंबर है
- 7:27:22एक्स। ठीक है? और उसके गेटर सेटर लिखे
- 7:27:24हमने। और हमने यहां पर एक एक ऑब्जेक्ट
- 7:27:26बनाया। ए क्लास का ऑब्जेक्ट बनाया। ठीक
- 7:27:29है? और उसमें फाइव वैल्यू असाइन कर दी
- 7:27:31क्योंकि इसका कंस्ट्रक्टर फाइव लेता है।
- 7:27:34ठीक है? फिर हमने बी लिया। एक क्लास बनाई।
- 7:27:36बी का ऑब्जेक्ट बना दिया। और B डॉट प्रिंट
- 7:27:39A कॉल कर रहा हूं। क्योंकि जो इसका B का
- 7:27:42प्रिंट है, वह A को लेता है। ठीक है? अब
- 7:27:45ध्यान से देखो। देखो यहां पे एक एरर आ रहा
- 7:27:47है। ठीक है? अब तक आप समझ गए होंगे। अगर
- 7:27:49आपने कॉनस्ट पढ़ा है ना ध्यान से जो लास्ट
- 7:27:52वीडियो में पढ़ाया था हमने तो आप समझ गए
- 7:27:54होंगे एरर क्यों आ रहा है? ये एरर इसलिए आ
- 7:27:55रहा है यहां पर मैंने a को क्या बोला है?
- 7:27:57कॉन्स्ट। यानी ये जो a है a वेरिएबल है ये
- 7:28:00ऑब्जेक्ट जो है a यह कॉन्स्ट है। यानी कि
- 7:28:03कॉस्ट का मतलब क्या है? कि इस फंक्शन
- 7:28:05प्रिंट के अंदर इसका स्कोप है कॉन्स्ट।
- 7:28:08यानी कि आप इस फंक्शन के अंदर A के किसी
- 7:28:13भी डेटा मेंबर को चेंज नहीं कर सकते। बट
- 7:28:15ध्यान से देखो आपने कॉल किया है a डॉट गेट
- 7:28:18x अब a डॉट गेट x जो है हो सकता है ऐसा
- 7:28:21c++ को लग रहा है ऑलदो यहां पे हमने सिर्फ
- 7:28:23रिटर्न x किया है पर हो सकता है आप यहां
- 7:28:25पे x को रीअसाइन कर रहे हो x को वन कर दे
- 7:28:28रहे हो ठीक है तो x को वन कर दोगे तो
- 7:28:30ऑब्जेक्ट चेंज हो जाएगा और यहां पे आपने
- 7:28:31लिखा है कॉन्स्ट है तो आप ये नहीं कर सकते
- 7:28:34तो इसके लिए क्या होता था याद करो कि हम
- 7:28:37कॉस्ट यहां पर सिर्फ कॉन्स्ट फंक्शंस को
- 7:28:40ही कॉल कर सकते हैं यानी कि मुझे इसको
- 7:28:42कॉन्स्ट करना पड़ेगा तो इसको मैं कॉन्स्ट
- 7:28:43कर देता हूं। ठीक है? पुराना कॉन्सेप्ट
- 7:28:45था। एक बार रिवाइज़ कर लिया। अब यह सही हो
- 7:28:47गया। ठीक है? फटाफट से इसको अब करते हैं
- 7:28:48कंपाइल। 8 डॉट यह हो गया कंपाइल। इसको
- 7:28:51प्रिंट चला के देखते हैं।
- 7:28:57फाइव आ गया। ठीक है? सिंपल है। हो गया।
- 7:29:00अब सपोज़ करो B के अंदर मैं गेटर सेटर से
- 7:29:02नहीं मैं डायरेक्टली यह नहीं करना चाहता।
- 7:29:05मैं डायरेक्टली A.x को प्रिंट करना चाहता
- 7:29:09हूं।
- 7:29:10तो क्या मैं यह कर पाऊंगा? नहीं कर सकता।
- 7:29:13इसको कंपाइल करूंगा तो देखते हैं क्या एरर
- 7:29:15आता है। एरर आया है कि भ एक्स एक प्राइवेट
- 7:29:18मेंबर है एक का भाई साहब प्राइवेट मेंबर
- 7:29:20है। आप क्यों प्राइवेट मेंबर एक्सेस नहीं
- 7:29:22कर सकते आप किसी भी क्लास का बाहर। तो अब
- 7:29:24सपोज़ करते हैं आपके पास कोई ऐसा यूज़ केस
- 7:29:26है कि नहीं। आप चाहते हो कि यार बी जो है
- 7:29:31बी जो है इसके प्राइवेट मेंबर देख पाए।
- 7:29:33ठीक है? मैं पूरे वर्ल्ड को नहीं दिखाना
- 7:29:36चाहता। मैं ए मेन को नहीं दिखाना चाहता।
- 7:29:38किसी और फंक्शन को नहीं दिखाना चाहता। मैं
- 7:29:40सिर्फ और सिर्फ B को दिखाना चाहता हूं कि
- 7:29:42भाई B तू A के प्राइवेट मेंबर्स को एक्सेस
- 7:29:46कर सकता है। तो इस काम के लिए मुझे A और B
- 7:29:50को आपस में फ्रेंड बनाना पड़ेगा। फ्रेंड
- 7:29:52बनाने का मतलब क्या है? वही कि भाई आप
- 7:29:55फ्रेंड हो तो आप एक दूसरे के प्राइवेट
- 7:29:56डेटा को प्राइवेट कन्वर्सेशन, प्राइवेट
- 7:29:58गॉसिप्स। ठीक है? इन सबको आप शेयर कर सकते
- 7:30:00हो। तो इसीलिए ए क्या बोलेगा? ए ए बोलेगा
- 7:30:04कि यार B तू मेरा फ्रेंड है। तो हम
- 7:30:07लिखेंगे फ्रेंड
- 7:30:09क्लास B
- 7:30:12ठीक है? तो हमने बोल दिया कि यार A बोल
- 7:30:16रहा है कि A ए बोल रहा है कंपाइलर को कि B
- 7:30:19ना B मेरा फ्रेंड है तो B क्योंकि मेरा
- 7:30:22फ्रेंड है तो B को मेरे सारे प्राइवेट
- 7:30:24डेटा का एक्सेस दे दो। इसे एक्सेस मिल
- 7:30:27गया। अब ये कंपाइल हो जाएगा।
- 7:30:32ये कंपाइल हो गया। अब इसको रन करेंगे। रन
- 7:30:35भी हो गया। ठीक है? तो यही होता है आपका
- 7:30:37फ्रेंड क्लास। इसको फ्रेंड क्लास बोलते
- 7:30:39हैं। ये फ्रेंड ये फ्रेंड कीवर्ड एक क्लास
- 7:30:42को B क्लास को A का फ्रेंड बना दे रहा है।
- 7:30:44ठीक है? सिमिलरली एक फ्रेंड फंक्शन भी
- 7:30:46होता है। ठीक है? आप चाहते हो ये ना हो आप
- 7:30:49ये नहीं करना चाहते। सपोज़ करते हैं कि कोई
- 7:30:51फंक्शन है आउटसाइड वर्ल्ड में। अभी तो
- 7:30:53हमने देखा ना कि क्लास के अंदर आप एक्सेस
- 7:30:55कर पा रहे हो A.x को। मैं बोलता हूं क्लास
- 7:30:57के अंदर नहीं मैं किसी फंक्शन में कराना
- 7:30:59चाहता हूं। तो मैं बोल देता हूं एक प्रिंट
- 7:31:01एक फंक्शन ले लेते हैं। प्रिंट
- 7:31:04सिंपल एक फंक्शन लेते हैं। यह भी आपका
- 7:31:06कॉस्ट है।
- 7:31:08A
- 7:31:09एंड A ले रहा है। ठीक है? यह भी क्या कर
- 7:31:12रहा है? A.x को प्रिंट कर रहा है।
- 7:31:16ठीक है? अब देखो ये एरर दे रहा है। नहीं
- 7:31:19कर सकते आप। इनसेबल है। ठीक है? तो हम
- 7:31:22क्या करेंगे? हमने बोला कि भाई प्रिंट को
- 7:31:24कॉल कर देते हैं। और यहां पे A को भेज
- 7:31:26दिया। यह इनसेबल आ रहा है। अब मैं क्या
- 7:31:29करूंगा? अब मैं अब A बोलेगा कंपाइलर को कि
- 7:31:32यार कंपाइलर
- 7:31:35जो मेरा फंक्शन
- 7:31:37प्रिंट है ना
- 7:31:43जो मेरा फंक्शन प्रिंट है ना वो एक
- 7:31:47डिक्लेरेशन दी है हमने जैसे फंक्शन
- 7:31:48डिक्लेरेशन देते हैं ना ऐसे ही डिक्लेरेशन
- 7:31:50दिया है कि भाई मेरा जो एक फंक्शन प्रिंट
- 7:31:53होगा वो मेरा फ्रेंड है। अब जैसे ही उसको
- 7:31:55फ्रेंड बनाया तो यह एक्सेसबल हो गया। अब
- 7:31:57इसको चलाएंगे तो यह चल जाएगा।
- 7:32:0255 दो बार प्रिंट हो गया। अगर मैं इसको
- 7:32:04कमेंट कर देता हूं।
- 7:32:06तो क्या होगा?
- 7:32:09तो सेम एरर। ठीक है? तो यही होता है आपका
- 7:32:12फ्रेंड क्लास और फ्रेंड फंक्शन। ठीक है?
- 7:32:15तो ये दो चीजें इंपॉर्टेंट होती हैं आपकी
- 7:32:16फ्रेंड क्लास और फ्रेंड फंक्शन। ठीक है?
- 7:32:19काफी अच्छा कांसेप्ट है। है ना? जब आपको
- 7:32:22प्राइवेट मेंबर्स सिंपल इंटरव्यू में ये
- 7:32:24क्वेश्चन पूछा जा सकता है कि आपसे सबसे
- 7:32:27पहले पूछेंगे प्राइवेट कीवर्ड क्या करता
- 7:32:29है? आप बोलोगे सर प्राइवेट कीवर्ड क्या
- 7:32:31करता है? क्लास के अंदर डेटा मेंबर्स को
- 7:32:34प्राइवेट बना देता है। डेटा मेंबर्स या
- 7:32:35फंक्शन डेटा मेंबर फंक्शनंस को प्राइवेट
- 7:32:37बना देता है। आप बोलोगे ठीक है। अब
- 7:32:38इंटरव्यू पूछेगा कि अगर मुझे उस
- 7:32:43प्राइवेट डेटा को एक्सेस करना हो तो आप
- 7:32:45कैसे एक्सेस कर पाओगे? आप बोलोगे भैया
- 7:32:47फ्रेंड फ्रेंड कीवर्ड यूज़ करो। ठीक है? तो
- 7:32:49यही होता है आपका फ्रेंड कीवर्ड। काफी
- 7:32:51इंपॉर्टेंट कांसेप्ट है इंटरव्यू
- 7:32:52पर्सेक्टिव से और रियल वर्ल्ड में कोशिश
- 7:32:54करते हैं ना ही यूज़ करें इसका क्योंकि
- 7:32:56इससे देखो मैनेज मेंटेबिलिटी बड़ी खराब हो
- 7:32:58जाती है। अब आपको दिख रहा है A जो है A का
- 7:33:01डेटा जो है B एक्सेस कर पा रहा है। क्यों
- 7:33:03करना है ये काम? क्यों करना है ये काम? यह
- 7:33:06काम क्यों करना है? यह काम क्यों करना है?
- 7:33:09इससे बढ़िया तो यहां पर एक प्रिंट फंक्शन
- 7:33:11लिखो। यहां पर एक प्रिंट फंक्शन लिखो।
- 7:33:18इसके अंदर आप x को प्रिंट कराओ।
- 7:33:23ठीक है? और यह सब हटाओ। यहां से इसको
- 7:33:26कमेंट करो।
- 7:33:30इसको भी कमेंट करो।
- 7:33:33इसको भी कमेंट करो।
- 7:33:36और यह ना करके यहां पर क्या काम किया जाए?
- 7:33:39यहां पर किया जाए a डॉट प्रिंट को कॉल
- 7:33:41किया जाए।
- 7:33:45ठीक है? इसको कॉस्ट बनाना पड़ेगा क्योंकि
- 7:33:47कॉस्ट लिया हमने यहां पे। तो इसको कास्ट
- 7:33:49बना देते हैं। बहुत ही बढ़िया। अब इसको
- 7:33:51चलाएंगे तो सेम रिजल्ट देगा।
- 7:33:57तो मैं कहूंगा ये बेटर डिज़ाइन है। रादर
- 7:33:59दैन मैं ये काम करूं डायरेक्टली किसी और
- 7:34:01क्लास से उसके मेंबर फंक्शनंस को एक्सेस
- 7:34:03करने की कोशिश करूं। इट्स बेटर कि मैं किस
- 7:34:06जो क्लास ए है उसमें कोई ऐसा फंक्शन बना
- 7:34:09दूं जिसको मैं सीधा कॉल कर पाऊं प्रिंट।
- 7:34:11ठीक है? ये एक बेटर डिज़ाइन होगा। तो बहुत
- 7:34:13ही बढ़िया। आई होप आपको चीजें समझ आई
- 7:34:15होंगी। तो फटाफट से यह भी आपके लिए नोट्स
- 7:34:17लिखे गए हैं कि फ्रेंडशिप यूजिंग फ्रेंड
- 7:34:19कीवर्ड कैसे की जाती है। ठीक है? ऑलदो
- 7:34:22इंफॉर्मेशन हाइडिंग इज़ एनकरेज्ड। ठीक है?
- 7:34:24इंफॉर्मेशन हाइडिंग एनकरेज की जाती है।
- 7:34:26इसको ना ही यूज़ करें तो अच्छा है। बट कुछ
- 7:34:30कुछ ऐसे सिनेरियो होते हैं जहां पर आपको
- 7:34:32ऐसी इंटरेक्शन बनानी पड़े और अगर ऐसी
- 7:34:34इंटरेक्शन आपको बनानी पड़ती है। आपके पास
- 7:34:35ऐसा यूज़ केस आता है तो आप फ्रेंड कीवर्ड
- 7:34:37का यूज़ कर लोगे। ठीक है? तो आई होप आपको
- 7:34:39फ्रेंड कीवर्ड समझ आया होगा। मिलते हैं
- 7:34:41ऐसी ही किसी नेक्स्ट वीडियो में। तब तक के
- 7:34:43लिए गुड बाय। आज इस वीडियो में हम देखने
- 7:34:45वाले हैं वर्चुअल इन C++ वर्चुअल कीवर्ड
- 7:34:48के बारे में आपको रन टाइम पॉलीमॉर्फिज्म
- 7:34:50बताते हुए पॉलीमॉर्फिज्म बताते हुए
- 7:34:52नॉर्मली आपको बबर भैया ने बताया होगा बट
- 7:34:55हम क्या करने वाले हैं हम थोड़ा सा और
- 7:34:58डेप्थ में वर्चुअल को समझेंगे और साथ ही
- 7:35:00साथ कुछ बहुत ही इंपॉर्टेंट इंटरव्यू
- 7:35:03कांसेप्ट्स इंटरव्यू रिलेटेड कांसेप्ट्स
- 7:35:05हम इस वीडियो में सीखने वाले हैं। ठीक है?
- 7:35:07बहुत ही इंपॉर्टेंट ये वीडियो होने वाली
- 7:35:09है। लेट्स बिगिन। तो वर्चुअल एंड C++ क्या
- 7:35:12है? सिंपल सी बात है। अगर एक वर्ड में
- 7:35:14बोलूं मैं या फिर एक सेंटेंस में मैं
- 7:35:16बोलूं तो एक तरीका है, ए वे है टू अचीव रन
- 7:35:20टाइम पॉलीमॉर्फिज्म। बस इतना ही काम है
- 7:35:23वर्चुअल का। ठीक है?
- 7:35:25एक तरीका है और ये कैसे वर्क करता है?
- 7:35:28एक्चुअली कैसे वर्क करता है? इसको एक बार
- 7:35:30ढंग से समझते हैं। एक्चुअली जबभी भी आप
- 7:35:32वर्चुअल कीवर्ड लिखते हो तो बिहाइंड द सीन
- 7:35:35कंपाइलर क्या-क्या कर रहा होता है? सबको
- 7:35:37हैंडल करने के लिए वो एक बार समझते हैं।
- 7:35:40ठीक है? तो सपोज़ करो आपने एक क्लास बनाई
- 7:35:42है बर्ड नाम से। ठीक है? और एक इसको
- 7:35:47डिराइव करते हुए क्लास बनाई है स्परो नाम
- 7:35:49से। इसका नाम मैं ले लेता हूं बर्ड। इसको
- 7:35:53मैं ले लेता हूं स्परो।
- 7:35:57ठीक है? और बर्ड जो आपकी बेस क्लास है।
- 7:36:01ठीक है? यह बेस क्लास है। और यह एक
- 7:36:03डिराइव्ड क्लास है।
- 7:36:06ठीक है? यह हमें समझ आता है। एग्जांपल हम
- 7:36:08कर भी चुके हैं। है ना? अब मुझे एक बात
- 7:36:11बता बताओ कि सपोज करते हैं इसके अंदर कुछ
- 7:36:15फंक्शनंस है फ्लाई। ठीक है? और इसको
- 7:36:18एब्स्ट्रैक्ट फंक्शन बनाया हुआ है मैंने।
- 7:36:19वर्चुअल लगाया हुआ है यहां पे। ठीक है?
- 7:36:21ऐसे ही बनाते हैं हम। एब्स्ट्रैक्ट क्लास
- 7:36:23बनाते हैं हम। है ना? और उसके बाद ये
- 7:36:26फ्लाई है। तो यहां पे भी एक फ्लाई
- 7:36:27इंप्लीमेंट कर दिया मैंने कि भाई स्परो
- 7:36:29फ्लाई कर सकता है। ठीक है?
- 7:36:32और साथ ही साथ एक स्लीप फंक्शन लिखा है
- 7:36:34यहां पे कि भाई बर्ड्स सोती है और यह
- 7:36:37वर्चुअल नहीं है। स्लीप वर्चुअल नहीं है।
- 7:36:41ठीक है? तो अब देखते हैं यह कैसे वर्क
- 7:36:43करेगा। अगर यह वर्चुअल है। ठीक है? फ्लाई
- 7:36:45और आपने एक और फ्लाई यहां पे डिफाइन किया
- 7:36:47है तो जो स्परो का फ्लाई होगा वो इसके
- 7:36:51फ्लाई को ओवराइड कर देगा।
- 7:36:55ओवराइड कर देगा। ऐसे वर्क करता है। यानी
- 7:36:57कि स्पैरो का फ्लाई कॉल होगा रादर देन
- 7:36:59बर्ड का फ्लाई। ठीक है? ये सिंपल सी चीज
- 7:37:02है। मतलब अगर मैं ऐसे कुछ लिखूं
- 7:37:05बर्ड स्टार बी = न्यू स्परो
- 7:37:12ऐसे कुछ लिखूं और फिर मैं बी का फ्लाई कॉल
- 7:37:16करूं तो किसका फ्लाई कॉल होगा? स्परो का
- 7:37:19फ्लाई कॉल होगा। ठीक है? ये सिंपल सी बात
- 7:37:21है। इसी को मैं बोलता हूं रन टाइम
- 7:37:23पॉलीमॉर्फिज्म। है ना? वर्चुअल की मदद से।
- 7:37:25बट ये एक्चुअली ये चीज रॉल्व कैसे होती
- 7:37:28है? ठीक है? कि एक्चुअली होता कैसे है? कई
- 7:37:30बार भाई ये समझते हैं
- 7:37:32ये होता ऐसे है जब भी आप ऐसी कोई क्लास
- 7:37:34लिखते हो उसके अंदर ऐसे कुछ फंक्शनंस
- 7:37:36लिखते हो एक वर्चुअल डिक्लेअ कर देते हो
- 7:37:38तो जब भी आप वर्चुअल डिक्लेअ करते हो तो
- 7:37:40आपका C++ कंपाइल करते हुए क्या करता है
- 7:37:44कुछ स्टैटिक एरेज़ बना देता है। ठीक है?
- 7:37:48कुछ स्टैटिक एरे बनाता है और कंपाइल टाइम
- 7:37:50पर बनाता है। यानी कि जो आपका प्रोग्राम
- 7:37:52बनेगा उसके अंदर जो उसका बाइट कोड होगा या
- 7:37:54उसके अंदर जो उसका एक्स एग्जीक्यूटेबल
- 7:37:56होगी उसके अंदर प्रोग्राम के अंदर उसके
- 7:37:58असेंबली के अंदर ये सब लिखा होगा। तो आपकी
- 7:38:00क्या बनती है? कुछ स्टैटिक एरे
- 7:38:04टेबल्स भी बोल सकता हूं मैं। ठीक है? कुछ
- 7:38:06टेबल्स बनती हैं। वो कैसे दिखती हैं? वो
- 7:38:08कुछ ऐसी टेबल होती हैं।
- 7:38:11मैं बोलूंगा इसको फंक्शन पॉइंटर टेबल होती
- 7:38:14हैं। ये टेबल है जिसके अंदर फंक्शन ये
- 7:38:18टेबल फंक्शन को पॉइंट कर रही होती है।
- 7:38:19इसको मैं वर्चुअल टेबल भी बोलता हूं।
- 7:38:22वर्चुअल टेबल वर्चुअल टेबल को हम वी टेबल
- 7:38:25भी बोल सकते हैं। ठीक है? इसको दूसरा नाम
- 7:38:27है वी टेबल।
- 7:38:30ठीक है? तो हमें समझ आया जब भी आप वर्चुअल
- 7:38:32डिक्लेअर करोगे तो उस क्लास के
- 7:38:34कॉस्पोंडिंग जो भी जिसके अंदर वर्चुअल
- 7:38:36लिखा है एक टेबल बन जाएगा और कंपाइल टाइम
- 7:38:39पे ये टेबल बनेगा यानी कि आपके प्रोग्राम
- 7:38:41का जो बाइट कोड है उसका पार्ट होगा वो एक
- 7:38:44टेबल बन जाएगा स्टैटिक स्टैटिक टेबल है ये
- 7:38:46ठीक है और ये क्या बोलेगा ये ये बताएगा कि
- 7:38:49यार ये एक वर्चुअल टेबल है। इसमें एक
- 7:38:51फंक्शन पॉइंटर है। ये बोलेगा दो फंक्शन
- 7:38:53है। इसके अंदर फ्लाई है और स्लीप है। तो
- 7:38:56बर्ड के वर्चुअल टेबल के अंदर यह बर्ड का
- 7:38:59वर्चुअल टेबल है। मैंने बोला बर्ड का
- 7:39:00वर्चुअल टेबल है। इसके अंदर ये जो फ्लाई
- 7:39:03है ये कौन से फंक्शन में कॉल पॉइंट कर रहा
- 7:39:05होगा? इस फंक्शन पे। ठीक है? इसको मैं हटा
- 7:39:09देता हूं यहां से। इसको एब्स्ट्रैक्ट नहीं
- 7:39:11बनाते। हटा देते हैं। ठीक है? सिंपली। और
- 7:39:15स्लीप किसको पॉइंट कर रहा होगा? इसी
- 7:39:16फंक्शन को। ठीक है? गुड इनफ। अब मैंने
- 7:39:20बोला कि अब क्योंकि एक स्परो डिराइव हो
- 7:39:23रहा है आपके बर्ड से और बर्ड के अंदर एक
- 7:39:26वर्चुअल फंक्शन है। ठीक है? तो इसके
- 7:39:29कॉस्पोंडिंग यानी कि जिस भी बेस क्लास के
- 7:39:32अंदर वर्चुअल है उसके जितने भी चाइल्ड्स
- 7:39:34बनेंगे या डिराइव्ड क्लासेस बनेंगे उनके
- 7:39:36कॉस्पोंडिंग भी एक वर्चुअल टेबल होगा। तो
- 7:39:38यहां पे एक वर्चुअल टेबल बनाते हैं।
- 7:39:42किसका? स्परो का।
- 7:39:46वो कैसा दिखेगा? वो भी ऐसे ही दिखेगा।
- 7:39:49इसके अंदर होगा फ्लाई। अब यह फ्लाई किसको
- 7:39:51पॉइंट कर रहा होगा? क्या यह फ्लाई इसको
- 7:39:53पॉइंट कर रहा होगा? बिल्कुल नहीं। यह
- 7:39:56ओवराइड हो चुका है। यानी यह फ्लाई किसको
- 7:39:58पॉइंट कर रहा होगा? स्परो के फ्लाई को।
- 7:40:00सिमिलरली इसके अंदर एक स्लीव फंक्शन होगा।
- 7:40:02ठीक है? बट यह स्लीप किसको पॉइंट करेगा?
- 7:40:05यह बेस के स्लीव को पॉइंट करेगा। क्योंकि
- 7:40:07यह स्लीव वर्चुअल नहीं है। यह स्लीव
- 7:40:11वर्चुअल नहीं है। ठीक है? ये यहां पे
- 7:40:13वर्चुअल नहीं है। और ये सब कब हो रहा है?
- 7:40:16ये सब कब हो रहा है? जब आपने ऐसा कुछ लिखा
- 7:40:18है बर्ड स्टार बी इक्वल टू न्यू स्परो
- 7:40:28ठीक है ये सब तब हो रहा है तो यानी कि ये
- 7:40:30जो बर्ड बनी है क्लास इसका जो बी जब आप बी
- 7:40:33डॉट फ्लाई कॉल करोगे तो आपका स्परो का
- 7:40:35फ्लाई कॉल होगा बट आप जब बी बी स्लैश बी
- 7:40:39एरो स्लीप कॉल कॉल करोगे तो आपका बेस का
- 7:40:41ही स्लीप कॉल होगा। ठीक है? सिंपल सा
- 7:40:43कॉनंसेप्ट है वर्चुअल के अंदर। तो
- 7:40:44एक्चुअली कैसे वर्क करता है ये? एक
- 7:40:46वर्चुअल टेबल बनती है। ठीक है? वर्चुअल
- 7:40:49टेबल किस-किस की बनती है? वर्चुअल टेबल हर
- 7:40:51क्लास की बनती है जिसके अंदर एटलीस्ट वन
- 7:40:54वर्चुअल फंक्शन हो। ठीक है? वर्चुअल
- 7:40:56फंक्शन का मतलब क्या है? कि वो फंक्शन लेट
- 7:40:58बाइंड होगा। उस फंक्शन को ओवराइड कर सकती
- 7:41:01है उसकी डिराइव्ड क्लास। ठीक है? यही होता
- 7:41:03है वर्चुअल। ठीक है? सिमिलरली जो उसकी
- 7:41:06डिराइव्ड क्लास होंगी, जो उस ऐसी एक बेस
- 7:41:09क्लास की जो डिराइव्ड क्लासेस होंगी, उसके
- 7:41:10कॉस्पोंडिंग भी एक वर्चुअल टेबल बनेगा।
- 7:41:13ठीक है? उसके अंदर क्या होता है? वर्चुअल
- 7:41:14टेबल के अंदर फंक्शन पॉइंटर्स होते हैं कि
- 7:41:16जो एक्चुअल फ्लाई फंक्शन है वो किस पे
- 7:41:18बाइंडेड है? उस पैरो के फ्लाई पे बाइंडेड
- 7:41:20है। ये जो स्लीप फंक्शन है किस पे बाइंडेड
- 7:41:22है? ये पुराने बर्ड के स्लीप पे ही
- 7:41:24बाइंडेड है। क्योंकि ये स्लीप वर्चुअल
- 7:41:26नहीं था। ठीक है? सिंपल सा कॉनंसेप्ट है।
- 7:41:30तो कुछ इस तरीके से वर्क करता है। इसकी
- 7:41:31थ्योरी पढ़ें तो।
- 7:41:33वर्चुअल टेबल वी टेबल्स क्या होता है?
- 7:41:35फॉर्म्ड फॉर एव्री क्लास हैविंग एटलीस्ट
- 7:41:37वन वर्चुअल फंक्शन एंड फॉर इट्स डिराइव्ड
- 7:41:40क्लास। ठीक है? ये हम समझ चुके हैं।
- 7:41:41क्यों? स्टैटिक एरेज होती है। स्टैटिक
- 7:41:43एरेज का मतलब क्या हुआ? ये वन इंस्टेंस
- 7:41:45होती है हर क्लास के। हर ऑब्जेक्ट के लिए
- 7:41:48एक वर्चुअल टेबल नहीं बनता।
- 7:41:51ये एक स्टैटिक
- 7:41:53मेंबर है। स्टैटिक मेंबर जैसे कि स्टैटिक
- 7:41:55मेंबर फंक्शन होता है ना आपके क्लासेस के
- 7:41:57अंदर हमने पढ़ा था स्टैटिक कीवर्ड जब पढ़ा
- 7:41:58था तो वो स्टैटिक किसी ऑब्जेक्ट के
- 7:42:01रिलेटेड नहीं होता। वो पूरी क्लास का एक
- 7:42:02इंस्टेंस होता है। वो वो पूरी क्लास से
- 7:42:06रिलेटेड होता है। ठीक है? तो सिमिलरली ये
- 7:42:08भी एक एक जो वर्चुअल टेबल होगा सपोज़ करते
- 7:42:12हैं इस वर्चुअल टेबल का एड्रेस है 0 x 0 1
- 7:42:15अगर ये इसका एड्रेस है तो सारे ऑब्जेक्ट्स
- 7:42:18बर्ड के और स्परो के जितने भी ऑब्जेक्ट्स
- 7:42:20बनाए जाएंगे वो सारे इसी एड्रेस वाले
- 7:42:22वर्चुअल टेबल पे ही पॉइंट करेंगे
- 7:42:24दोबारादबारा हर ऑब्जेक्ट टाइप हर ऑब्जेक्ट
- 7:42:26के लिए बर्ड के हर ऑब्जेक्ट के लिए नया
- 7:42:28नया वर्चुअल टेबल नहीं बनेगा। ठीक है?
- 7:42:31बहुत ही बढ़िया। आगे बढ़ते हैं। अब साथ ही
- 7:42:33साथ एक और पॉइंट होता है वर्चुअल पॉइंटर।
- 7:42:37ठीक है? वर्चुअल पॉइंटर। वी पॉइंटर एक
- 7:42:39हिडन मेंबर होता है। एक पॉइंटर है इज़ एडेड
- 7:42:42बाय द कंपाइलर टू द क्लासेस विद वर्चुअल
- 7:42:44एंड इट्स डिराइव्ड क्लासेस डिपेंडिंग अपॉन
- 7:42:47द ऑब्जेक्ट टाइप वी पॉइंटर इज़ बाउंडेड टू
- 7:42:51द वी टेबल। ठीक है? अब यह देखते हैं यह
- 7:42:53क्या कहना चाह रहे हैं हम। यह हम ये बोल
- 7:42:55रहा है। हमने बोला कि बर्ड स्टारb = न्यू
- 7:43:01स्परो।
- 7:43:03ठीक है? यही बोला है।
- 7:43:05अब ध्यान से देखो। यह आपका क्या है? इसको
- 7:43:07अपकास्टिंग भी बोलते हैं ना। अपकास्टिंग।
- 7:43:10अभी आप क्या कर रहे हो? ये बर्ड को एक
- 7:43:12इंटरफेस की तरह यूज़ कर रहे हो। है ना? ये
- 7:43:14हमने पढ़ा था एब्स्ट्रैक्शंस के अंदर। है
- 7:43:16ना? अब जब बी का फ्लाई कॉल होता है, तो यह
- 7:43:21स्परो का फ्लाई कॉल कर देता है। स्परो का
- 7:43:24फ्लाई कॉल करता है।
- 7:43:26यही होता है। अब इस चीज को कैसे डिटरमाइन
- 7:43:28करते हैं? इस चीज को ऐसे डिटरमाइन करते
- 7:43:30हैं कि आपका एक यहां पर जब भी आप कंपाइल
- 7:43:35करते हो कंपाइलर एक पॉइंटर ऐड करता है।
- 7:43:37इसको मैं वीपीटीआर भी बोलता हूं। यह है
- 7:43:39वर्चुअल पॉइंटर। ठीक है? तो जब भी आप ये
- 7:43:43सेंटेंस लिखोगे ये सेंटेंस लिखोगे तो जो
- 7:43:46बी के अंदर जो पी वीपीटीआर है बी के अंदर
- 7:43:51जो वीपीटीआर है, वीपीटीआर क्या है? एक
- 7:43:53मेंबर पॉइंटर है। ठीक है? एक मेंबर पॉइंटर
- 7:43:56है। एक मेंबर पॉइंटर है जो कि जो कि आपने
- 7:44:00नहीं लिखा है। कंपाइल ने खुद लिखा है।
- 7:44:02क्यों लिखा है? क्योंकि आपके सिस्टम के
- 7:44:04अंदर दो अभी वर्चुअल टेबल्स हैं। तो जब भी
- 7:44:07आप ये लाइन लिखोगे तो बी के अंदर जो
- 7:44:10वीपीटीआर है ना वो इस टेबल पे पॉइंट करने
- 7:44:13लगेगा। ठीक है? दोबारा बोलता हूं। कंपाइलर
- 7:44:16ने खुद ही ऐड करा है। क्यों किया है? जब
- 7:44:18आप ये लाइन लिख रहे हो तो आपको पता है कि
- 7:44:20स्परो का जो फंक्शनंस है ना वो कॉल होंगे।
- 7:44:24ठीक है? यानी बीज ऑफ़ फ्लाई करूंगा तो यह
- 7:44:26वाला फ्लाई कॉल होना चाहिए। तो जो इसका
- 7:44:28वर्चुअल टेबल है जिसके अंदर वर्चुअल टेबल
- 7:44:31के अंदर क्या है? फंक्शन पॉइंटर्स हैं कि
- 7:44:33भाई एक्चुअल फ्लाई कौन सा कॉल होगा?
- 7:44:35एक्चुअल स्लीव कौन सा कॉल होगा? तो जो
- 7:44:37बर्ड का वीपीटीआर है वो इस वाले टेबल पे
- 7:44:39पॉइंट करने लग जाएगा।
- 7:44:42ठीक है? तो हम बोलेंगे बर्ड का टेबल यह
- 7:44:44पॉइंट कर रहा है
- 7:44:47स्परो स्परोस वी टेबल।
- 7:44:52अब क्योंकि बर्ड का बीपीटीएस स्पैरो के वी
- 7:44:55टेबल पर पॉइंट कर रहा है। तो जब भी आप बी
- 7:44:58का फ्लाई कॉल करोगे तो बी का फ्लाई कॉल
- 7:45:01करते हुए क्या होगा? क्योंकि यह एक
- 7:45:04वर्चुअल फंक्शन है। वो क्या जाएगा? वो
- 7:45:05क्या करेगा? वो वी टेबल पे जाएगा। ठीक है?
- 7:45:08वो स्परो का वी टेबल देखेगा।
- 7:45:11स्परो का वी टेबल देखेगा। वो देखेगा भाई
- 7:45:14इसका फ्लाई जो है वो कहां पॉइंट कर रहा
- 7:45:16है? कहां पॉइंट कर रहा है? इसका फ्लाई
- 7:45:18कहां पॉइंट कर रहा था? इसका फ्लाई पॉइंट
- 7:45:20कर रहा है स्परो के ही फ्लाई पे। फिर जब
- 7:45:22आप बी का स्लीप कॉल करोगे तो आप देखोगे
- 7:45:26यार स्लीप कहां पॉइंट कर रहा है? स्लीप
- 7:45:28बर्ड के स्लीप पे ही पॉइंट कर रहा है। तो
- 7:45:30इस तरीके से चीजें आपके काम करती हैं। अब
- 7:45:33सपोज़ करो एक एग्जांपल लेते हैं। अगर आप
- 7:45:34लिखते बर्ड स्टारb = न्यू
- 7:45:39ईगल
- 7:45:41ऐसे लिखते। और यहां पे एक ईगल क्लास होती।
- 7:45:44यहां पे ईगल क्लास बना देते हैं।
- 7:45:47फ्लाई लिख देते हैं यहां पे और स्लीप लिख
- 7:45:50देते हैं। ईगल का फ्लाई अलग है। ईगल का
- 7:45:53स्लीप अलग नहीं है बस। ठीक है? स्लीप नहीं
- 7:45:54लिख रहे हम। तो इसका फ्लाई किस पे कॉल
- 7:45:56पॉइंट करेगा? इसका जो वी टेबल बनेगा ये
- 7:45:59इसका वी टेबल है। इसका फ्लाई कहां पॉइंट
- 7:46:01करेगा? फ्लाई पे। और इसका
- 7:46:05स्लीप कहां पॉइंट करेगा? स्लीप पे।
- 7:46:09ठीक है? तो यहां पे क्या होता? यहां पर इस
- 7:46:11टाइम इस टाइम पे जो बी का वीपीटीआर है वह
- 7:46:15पॉइंट करता किसके वी टेबल पे? ईगल के वी
- 7:46:18टेबल पे।
- 7:46:20और ईगल का वी टेबल क्या कह रहा है? ईगल का
- 7:46:22वी टेबल कह रहा है कि अगर बी डॉट फ्लाई
- 7:46:25कॉल करोगे। ठीक है? अब इसके बाद इस लाइन
- 7:46:28को एग्जीक्यूट करने के बाद जब बी का फ्लाई
- 7:46:30कॉल करोगे आप तो कौन सा फ्लाई कॉल होगा?
- 7:46:33आपका ईगल का फ्लाई कॉल होगा। स्लीप कॉल
- 7:46:35करोगे तो किसका कॉल होगा? आपका बेस का वो
- 7:46:39कॉल होगा। ठीक है? तो अगर मैं समराइज़
- 7:46:41करूं, सिंपल सी चीज़ है। आपके पास जब भी आप
- 7:46:44वर्चुअल लिख देते हो, तो हर क्लास के
- 7:46:45कॉस्पोंडिंग एक स्टैटिक एरे बनती है। ठीक
- 7:46:47है? एक स्टैटिक मेंबर टेबल बनता है जो कि
- 7:46:50एक वर्चुअल टेबल बोलते हैं इसको। वर्चुअल
- 7:46:52टेबल क्या करता है? वो काम आता है रिज़ॉल्व
- 7:46:53करने के। वो वर्च वो एक फंक्शन पॉइंटर
- 7:46:56टेबल है। वो बोल रहा है कि यार फ्लाई जो
- 7:46:58है वो किस पे पॉइंट कर रहा है? स्लीप जो
- 7:47:00है वो किस पे पॉइंट कर रहा है? सिमिलरली
- 7:47:02इसके डिराइव्ड क्लासेस जो होती हैं उनका
- 7:47:04भी एक वर्चुअल टेबल होता है। ठीक है? और
- 7:47:06वर्चुअल टेबल क्या बता रहा है? कि क्योंकि
- 7:47:08फ़्लाई को ओवराइड करा है आपने क्योंकि
- 7:47:10फ्लाई वर्चुअल था तो इसका फ्लाई इस पे कॉल
- 7:47:12करेगा और स्लीव ओवराइड नहीं किया तो स्लीव
- 7:47:14कहां कॉल करेगा? पुराने वाले इस पे ही। अब
- 7:47:16जब आप ये लाइन एग्जीक्यूट करोगे तो पता
- 7:47:18कैसे चलेगा कि कहां पॉइंट करना है?
- 7:47:20क्योंकि ये तो अब कास्टिंग हो चुकी है ना।
- 7:47:21ये तो बी का बी का पॉइंटर है। बर्ड का
- 7:47:24पॉइंटर है। है ना? तो कैसे पता चलेगा?
- 7:47:26क्योंकि बर्ड के अंदर एक वर्चुअल फंक्शन
- 7:47:29है। तो इसके अंदर एक मेंबर पॉइंटर ऐड हो
- 7:47:32जाएगा जो कि आपको नहीं दिखता। उसको बोलते
- 7:47:34हैं वीपीटीआर पॉइंटर। और जब वीपीटीआर ऐड
- 7:47:36होगा तो वीपीटीआर क्या करेगा? वीपीटीआर
- 7:47:39क्या करेगा? वीपीटीआर हेल्प करेगा टू
- 7:47:41रिजॉल्व कि एक्चुअली जब भी बर्ड का फ्लाई
- 7:47:44कॉल होगा तो कौन सा फ्लाई कॉल करना है?
- 7:47:47ठीक है? तो वीपीटीआर यहां पे इस पॉइंट को
- 7:47:49एग्जीक्यूट करने के बाद वीपीटीआर कहां
- 7:47:51पॉइंट करेगा? यहां पे इस वाले टेबल पे।
- 7:47:53फिर जब भी आप बी का फ्लाई कॉल करोगे तो यह
- 7:47:56वाला फ्लाई कॉल होगा। ठीक है? स्लीप कॉल
- 7:47:58कर स्लीप तो पुराना ही कॉल होगा। ठीक है?
- 7:48:01और यह एक मेंबर फंक्शन ऐड होता है। सॉरी।
- 7:48:04और यह एक मेंबर वेरिएबल ऐड होता है। यह
- 7:48:06आपको कैसे पता चलेगा? आप कोई क्लास बनाना।
- 7:48:08उसके अंदर वर्चुअल मत रखना और आप एक क्लास
- 7:48:10बनाना। उसके अंदर वर्चुअल डाल देना।
- 7:48:11वर्चुअल डालते ही आपका साइज बढ़ जाएगा।
- 7:48:13ठीक है? एक मेंबर
- 7:48:17पॉइंटर ऐड हो जाता है अपने आप। ठीक है? तो
- 7:48:19इस तरीके से आपका वर्चुअल अह के अंदर काम
- 7:48:22होता है। इसको मैं लेट बाइंडिंग भी बोलता
- 7:48:24हूं। ठीक? ठीक है? क्योंकि ये चीज़
- 7:48:26एग्जीक्यूट होगी। उसके बाद आपका वीपीटीआर
- 7:48:29जो है पॉइंट करेगा इस टेबल पे। ठीक है?
- 7:48:31इसको बोलते हैं हम लेट वाइंडिंग भी कहते
- 7:48:33हैं इसको। ठीक है? कुछ इस तरीके से
- 7:48:36वर्चुअल
- 7:48:37कीवर्ड लिखने के बाद बहुत सारी चीजें
- 7:48:39बैकग्राउंड में चलती हैं। ऐसे रॉल्विंग
- 7:48:41होती है। ऐसे आपका रन टाइम पॉलीमॉर्फिज्म
- 7:48:43पॉसिबल हो पाता है C++ में। ठीक है? तो
- 7:48:46डिपेंडिंग अपॉन द ऑब्जेक्ट टाइप वी पॉइंटर
- 7:48:48इज़ बाउंडेड टू ए वी टेबल। ऑब्जेक्ट टाइप
- 7:48:51यहां पे क्या है? स्परो है। क्योंकि यहां
- 7:48:54ऑब्जेक्ट टाइप स्परो है। तो आपका वी
- 7:48:56पीटीआर जो बर्ड का भी पीटीआर है वो इस
- 7:48:58वाले टेबल पर पॉइंट करेगा।
- 7:49:00यहां पर ईगल था तो इसका वीपीटीआर ईगल के
- 7:49:03वी टेबल पर पॉइंट कर रहा था। ठीक है? बहुत
- 7:49:06ही बढ़िया। वी टेबल्स आर क्रिएटेड ए
- 7:49:08कंपाइल टाइम। कंपाइल टाइम पे क्रिएट किए
- 7:49:10जाते हैं। ठीक है? तो यह क्वेश्चन पूछा जा
- 7:49:12सकता है आपसे। व्हेन ए ऑब्जेक्ट ऑफ ए
- 7:49:14पर्टिकुलर टाइप इज़ क्रिएटेड एट रन टाइम।
- 7:49:16ठीक है? व्हेन ए ऑब्जेक्ट इज़ ऑफ़ अ
- 7:49:20पर्टिकुलर टाइप इज़ क्रिएटेड एट रन टाइम।
- 7:49:22ठीक है? यह रन टाइम पे यह एग्जीक्यूट जब
- 7:49:24होगी
- 7:49:26देयर विल बी ए वीपीटीआर व्हिच विल बी
- 7:49:29इनिशियलाइज टू पॉइंट टू ए स्टैटिक वी
- 7:49:32टेबल। ठीक है? एट द टाइम ऑफ़ कंस्ट्रक्शन।
- 7:49:36यानी कंस्ट्रक्शन के टाइम पे यही कि
- 7:49:38वीपीटीआर जो है यानी इसके जब कंस्ट्रक्शन
- 7:49:41के टाइम ये जब लाइन एग्जीक्यूट होगी तो
- 7:49:43वीपीटीआर इस पे पॉइंट करेगा। ठीक है? ये
- 7:49:47सिंपल सी बात यहां पे लिखी हुई है। ठीक
- 7:49:49है? तो इस तरीके से आपका वर्चुअल कीवर्ड
- 7:49:51जो है वर्चुअल वर्क करता है। ठीक है? आगे
- 7:49:53बढ़ते हैं। आगे देखते हैं हम कि कैन वी
- 7:49:55मेक अ वर्चुअल कंस्ट्रक्टर? क्या एक
- 7:49:58वर्चुअल कंस्ट्रक्टर को बनाया जा सकता है?
- 7:50:01ठीक है? इसको समझते हैं। इसकी थ्योरी
- 7:50:03समझने से पहले सबसे पहले कोड करके देखते
- 7:50:04हैं कि भाई बना सकते हैं कि नहीं। है ना?
- 7:50:07तो सपोज़ करते हैं। हमने एक क्लास ली। ठीक
- 7:50:09है? क्लास बेस उसका नाम बेस रख दिया।
- 7:50:15तो हमने क्या किया? हमने क्लास बनाई है
- 7:50:16बेस। ठीक है? उसके उसके अंदर इसका बेस का
- 7:50:18सीट और है। बेस का डिटोर है। एक डिराइव्ड
- 7:50:20क्लास बनाई है। डिराइव्ड किस को डिराइव कर
- 7:50:23रही है? बेस से डिराइव कर रही है। बेस
- 7:50:24इसका पेरेंट है। इसका इसका सीट और बनाया।
- 7:50:26इसका डिटर बनाया। ठीक है? तो हमने क्या
- 7:50:29किया? हमने स्टार्टिंग करी बेस स्टार B =
- 7:50:32न्यू डिराइव्ड है ना? और फिर बी हमने
- 7:50:35डिलीट कर दिया। B को डिलीट क्यों करना
- 7:50:36पड़े? पॉइंटर हमने खुद से एलोकेट किया है।
- 7:50:38तो हमने डिलीट भी खुद ही करना पड़ेगा। है
- 7:50:40ना? बहुत ही बढ़िया। तो इसको कंपाइल करते
- 7:50:42हैं फटाफट। फटाफट।
- 7:50:48बहुत ही बढ़िया। तो सबसे पहले क्या हुआ?
- 7:50:52बेस का कंस्ट्रक्टर कॉल हुआ। फिर डिराइव्ड
- 7:50:55का कंस्ट्रक्टर कॉल हुआ और डिस्ट्रक्टर
- 7:50:57अभी कॉल हो रहे हैं। डिस्ट्रक्टर पे थोड़ी
- 7:50:58देर में बात करेंगे। अभी कंस्ट्रक्टर पे
- 7:51:00बात करते हैं बस। तो बेस का कंस्ट्रक्टर
- 7:51:02कॉल हुआ। बेस का डिस्ट्रक्टर कॉल हुआ। ठीक
- 7:51:04है? सिंपल सी बात है। हमने बोला क्या हम
- 7:51:06कंस्ट्रक्टर को वर्चुअल बना सकते हैं?
- 7:51:09मैंने बेस के कंस्ट्रक्टर को बोला कि यार
- 7:51:11तू वर्चुअल बन जा।
- 7:51:13वर्चुअल बनते ही आपका एरर आ गया। ठीक है?
- 7:51:16तो सिंपल सी बात है। कैन वी मेक वी मेक
- 7:51:20वर्चुअल कंस्ट्रक्टर? इसका सिंपल सा आंसर
- 7:51:22है नो। ठीक है? अब ये क्या एरर दे रहा है?
- 7:51:26ये कह रहा है कि वर्चुअल इज़ नॉट अलाउड।
- 7:51:28ठीक है? एक्सप्लेनेशन नहीं दे रहा पर कह
- 7:51:30रहा है अलाउड नहीं है भाई साहब। इसको
- 7:51:32कंपाइल करके देखते हैं। क्या लिखा है?
- 7:51:34कंस्ट्रक्टर कैन नॉट बी डिक्लेयर्ड
- 7:51:36वर्चुअल। यह बोल रहा है कि हम यानी
- 7:51:39कंपाइलर कंपाइल करते हुए ही यह पहचान ले
- 7:51:42रहा है कि यार कंस्ट्रक्टर को तो आप
- 7:51:44वर्चुअल नहीं बना सकते। अब क्यों नहीं बना
- 7:51:46सकते? इसके दो रीज़न है। एक है थोड़ा पढ़ा
- 7:51:50लिखा रीज़। ठीक है? एक है थोड़ा सेंसिबल
- 7:51:52रीज़न। ठीक है? पढ़ा लिखा रीज़न समझते हैं एक
- 7:51:55बार। वो कह रहा है कि कंस्ट्रक्टर कैन नॉट
- 7:51:57बी वर्चुअल बिकॉज़ व्हेन द कंस्ट्रक्टर ऑफ़
- 7:52:00ए क्लास इज़ एग्जीक्यूटेड, देयर इज़ नो
- 7:52:02वर्चुअल टेबल इन द मेमोरी। ठीक है? देखते
- 7:52:06हैं कैसे आपके पास यह वाला ही थ्योरी हमने
- 7:52:09पढ़ी थी। ठीक है? तो जब भी बर्ड का
- 7:52:12कंस्ट्रक्टर कॉल हो रहा होगा बेस क्लास है
- 7:52:13ना बर्ड यहां पे जब ये वाली चीज
- 7:52:15एग्जीक्यूट होगी ये वाली लाइन एग्जीक्यूट
- 7:52:17होगी तो सबसे पहले इसका जब कंस्ट्रक्टर
- 7:52:19कॉल होगा तो उस टाइम कोई भी वर्चुअल टेबल
- 7:52:22जो है
- 7:52:24कोई भी वर्चुअल टेबल है वह मेमोरी में
- 7:52:27नहीं होता। वर्चुअल टेबल मेमोरी में कब
- 7:52:29आता है? जब आपका कंस्ट्रक्शन हो जाती है।
- 7:52:32कंस्ट्रक्शन होने के बाद आती है। ठीक है?
- 7:52:35तो यह कह रहे हैं कि भाई व्हेन
- 7:52:37कंस्ट्रक्टर ऑफ ए क्लास एग्जीक्यूटेड देयर
- 7:52:39इज नो वर्चुअल टेबल इन द मेमोरी। कोई
- 7:52:41वर्चुअल टेबल मेमोरी में होता नहीं है।
- 7:52:42मींस नो वर्चुअल पॉइंटर डिफाइंड येट। ठीक
- 7:52:45है? सो कंस्ट्रक्टर शुड ऑलवेज बी नॉन
- 7:52:47वर्चुअल। इसका मतलब वापस से आते हैं
- 7:52:49वीडियो पे। हम ये कह रहे थे यार वर्चुअल
- 7:52:53जब भी आप कोई फंक्शन वर्चुअल होता है आपकी
- 7:52:55क्लास के अंदर तो उसमें क्या होता है? एक
- 7:52:57वर्चुअल टेबल की जरूरत पड़ती है टू रिॉल्व
- 7:53:00इट। टू रिॉल्व इट। मतलब एक्चुअली पता करने
- 7:53:02के लिए कि कोई फंक्शन अगर वर्चुअल बनाया
- 7:53:04गया है। यहां पे फ्लाई वर्चुअल बनाया गया
- 7:53:06है तो जब मैं इसको एग्जीक्यूट करूंगा तो
- 7:53:08कौन सा फ्लाई कॉल करना है? मुझे स्परो का
- 7:53:11फ्लाई कॉल करना है। ठीक है? क्योंकि ये
- 7:53:14ओवराइड कर दिया इस फ्लाई ने ओवराइड कर
- 7:53:15दिया इसको। और ये मुझे पता कैसे चला है?
- 7:53:17ये मुझे पता चला है वर्चुअल टेबल की मदद
- 7:53:20से। ठीक है? यानी कि एक्चुअली जब भी
- 7:53:23वर्चुअल कोई फंक्शन होता है आपकी क्लास के
- 7:53:25अंदर तो मुझे पता करने के लिए कि एक्चुअली
- 7:53:27कौन सा फंक्शन कॉल करना है। मुझे वर्चुअल
- 7:53:29टेबल की जरूरत पड़ती है। और क्योंकि जब आप
- 7:53:32क्लास को कंस्ट्रक्ट कर रहे हो यानी
- 7:53:34कंस्ट्रक्टर के अंदर हो आप उस टाइम पे
- 7:53:36वर्चुअल टेबल मेमोरी में लोड नहीं होता।
- 7:53:39दिस इज़ हाउ प्रोग्राम्स आर इंप्लीमेंटेड।
- 7:53:41मेमोरी में लोड नहीं होता। क्योंकि मेमोरी
- 7:53:43में लोड ही नहीं हुआ है तो पता ही नहीं
- 7:53:45चलेगा कि एक्चुअली कौन सा कंस्ट्रक्टर कॉल
- 7:53:47करना है। वर्चुअल कंस्ट्रक्टर का मतलब
- 7:53:50क्या हुआ? वर्चुअल कंस्ट्रक्टर का मतलब
- 7:53:52वर्चुअल फ्लाई का मतलब क्या था? कि जब आप
- 7:53:54इसको कॉल कर रहे थे तो कौन सा फ्लाई कॉल
- 7:53:56करना है? है ना? इसका फ्लाई तो कॉल नहीं
- 7:53:59हो रहा था। डिराइव्ड का फ्लाई कॉल हो रहा
- 7:54:01था। सिमिलरली अगर हमने बेस के क्लास को ही
- 7:54:03वर्चुअल बना बेस के कंस्ट्रक्टर को ही
- 7:54:05वर्चुअल बना दिया तो उस केस के अंदर हम
- 7:54:08ऐसा कुछ बोलना चाह रहे हैं ना कि यार बेस
- 7:54:10का वर्चुअल कॉल वो कंस्ट्रक्टर कॉल नहीं
- 7:54:12होगा। यहां पे हम क्या कह रहे हैं? फ्लाई
- 7:54:14वर्चुअल बनाया है। जब भी ऐसा कुछ होगा तो
- 7:54:17बेस का फ्लाई कॉल नहीं हो रहा है। यानी
- 7:54:19जिसको वर्चुअल बनाया गया जिस फंक्शन को
- 7:54:21एक्चुअली वो कॉल नहीं होगा। हो सकता है
- 7:54:23उसके डिराइव्ड क्लासेस में वो फंक्शन
- 7:54:25ओवराइड किया होगा वो कॉल होगा। अगर आप
- 7:54:28कंस्ट्रक्टर को ही क्या बना दोगे?
- 7:54:31वर्चुअल। तो आप बोल रहे हो कि यार
- 7:54:34कंस्ट्रक्टर वर्चुअल है। इसका मतलब वो
- 7:54:36वाला कंस्ट्रक्टर कॉल नहीं करना। कोई और
- 7:54:37कंस्ट्रक्टर कॉल करना है। ऑब्जेक्ट तो
- 7:54:39पूरा क्रिएट ही नहीं हुआ। सर जी ऑब्जेक्ट
- 7:54:41जब पूरा क्रिएट ही नहीं हुआ तो कौन सा
- 7:54:43कंस्ट्रक्टर कॉल करना है? और कौन सा
- 7:54:44कंस्ट्रक्टर कॉल करना है या फिर कौन सा
- 7:54:47फ्लाई कॉल करना है? यह कैसे पता चल रहा
- 7:54:49था? यह पता चल रहा था आपका वर्चुअल टेबल
- 7:54:51से। और वर्चुअल टेबल ही अभी मेमोरी में
- 7:54:54नहीं आया है तो आपका
- 7:54:56आप आपका जो कंस्ट्रक्टर है वर्चुअल नहीं
- 7:55:00हो सकता। ठीक है? अगर ये रीज़न थोड़ा सा
- 7:55:02कंफ्यूजिंग लग रहा है तो दूसरा रीज़न समझते
- 7:55:05हैं। दूसरा रीज़न सेम ही रीज़न है एक्चुअली
- 7:55:07दोनों। बट थोड़ा बोलने का तरीका अलग है। ए
- 7:55:09वर्चुअल कॉल इज़ अ मैकेनिज्म टू गेट वर्क
- 7:55:11डन गिवन पार्शियल इनेशन। ठीक है? वर्चुअल
- 7:55:15का मतलब क्या है? आपने बोल दिया फ्लाई
- 7:55:17वर्चुअल है जी। ठीक है? वर्चुअल है। बोल
- 7:55:20दिया। तो आपने पार्शियल इनफेशन दी है कि
- 7:55:22ये फ्लाई एक फंक्शन है जो कि वर्चुअल है।
- 7:55:24ओवराइड हो सकता है। ठीक है?
- 7:55:26इन पर्टिकुलर वर्चुअल अलाउ अस टू कॉल ए
- 7:55:29फंक्शन नोइंग ओनली एनी इंटरफसेस एंड नॉट द
- 7:55:32एग्जैक्ट टाइप ऑफ द ऑब्जेक्ट। यहां पे
- 7:55:34एग्जैक्ट टाइप क्या है? स्परो।
- 7:55:37ठीक है? आपने क्या बोला? बी का फ्लाई कॉल
- 7:55:39कर दिया। आपको नहीं पता किसका फ्लाई कॉल
- 7:55:42होगा। आप आपको पता है ना? स्परो का ही
- 7:55:45फ्लाई कॉल होगा। ठीक है? तो आपने इंटरफ़ेस
- 7:55:47को कॉल कर दिया। यानी कि एक्चुअली आपको लग
- 7:55:49रहा है कि आपने बेस बेस के फ्लाई को कॉल
- 7:55:51किया है। यानी कि बर्ड के फ्लाई को कॉल
- 7:55:53किया है। बट एक्चुअली कॉल हो जाता है वो
- 7:55:55स्परो का फ्लाई। ठीक है? यही वर्चुअल करता
- 7:55:56है। वर्चुअल बोल रहा है चीजें ना धुंधली
- 7:55:58हैं। वर्चुअल हैं। ठीक है? एक्चुअली
- 7:56:00फंक्शन कोई और है। एक्चुअली फ्लाई कोई और
- 7:56:03कॉल होगा। ठीक है? और वो कैसे डिफाइन होता
- 7:56:05है? कि भाई ऑब्जेक्ट टाइप क्या है? स्परो
- 7:56:07है ना ऑब्जेक्ट टाइप उस हिसाब से। तो कह
- 7:56:09रहा है इन पर्टिकुलर वर्चुअल अलाउ अस टू
- 7:56:11कॉल ए फंक्शन नोइंग ओनली द इंटरफ़ेस। आपने
- 7:56:13कॉल तो कर दिया। B डॉट फ्लाई कॉल तो कर
- 7:56:15दिया बट नॉट एग्जैक्ट टाइप ऑफ़ द ऑब्जेक्ट।
- 7:56:20ठीक है? एग्जैक्ट टाइप आपको नहीं पता।
- 7:56:21आपने B का फ्लाई कॉल कर दिया पर स्पैरो का
- 7:56:23फ्लाई कॉल हो जाएगा। ठीक है? टू क्रिएट एन
- 7:56:26ऑब्जेक्ट यू नीड कंप्लीट इनेशन। बट
- 7:56:29ऑब्जेक्ट को क्रिएट करने के लिए तुम्हें
- 7:56:30कंप्लीट इनेशन चाहिए होती है। इन
- 7:56:33पर्टिकुलर यू नीड टू नो द एग्जैक्ट टाइप
- 7:56:35ऑफ व्हाट यू वांट टू क्रिएट। ठीक है?
- 7:56:38देखते हैं। आपने B डॉट फ्लाई कॉल कर दिया
- 7:56:41और आप निश्चिंत बैठे हो यार फ्लाई तो B
- 7:56:45डॉट फ्लाई तो मैं बोल रहा हूं बट ये फ्लाई
- 7:56:47कोई और कॉल होगा। स्परो का फ्लाई कॉल
- 7:56:49होगा। यानी कि एग्जैक्ट जो आपका
- 7:56:53अ
- 7:56:54ऑब्जेक्ट टाइप है वो आपने इससे बाइंड कर
- 7:56:58दिया। ठीक है? ऐसा कुछ किया है। अब आप बोल
- 7:57:00रहे हो कि आपका कंस्ट्रक्टर ही वर्चुअल
- 7:57:02है। यानी कि आप बे आप बेस के यानी कि हां
- 7:57:05देखें तो हम बेस के बेस बेस को कंस्ट्रक्ट
- 7:57:08नहीं कर रहे। इसका कंस्ट्रक्टर कॉल करने
- 7:57:10का मतलब क्या है? आप बेस को कंस्ट्रक्ट कर
- 7:57:11रहे हो। बेस के ऑब्जेक्ट को कंस्ट्रक्ट कर
- 7:57:13रहे हो। आप बोल रहे हो यार इसका
- 7:57:14कंस्ट्रक्टर कॉल वर्चुअल है। मतलब ये वाला
- 7:57:17ये वाला नहीं है। जैसे हम कर रहे थे ना
- 7:57:19यहां पे फ्लाई फ्लाई ये ब्रॉड का फ्लाई
- 7:57:21नहीं है। स्परो का फ्लाई है। आप बोल रहे
- 7:57:22हो कि यार ये बेस का कंस्ट्रक्टर नहीं है।
- 7:57:25यह कोई और कंस्ट्रक्टर कॉल करना है आपको।
- 7:57:26क्या यह चीज लॉजिकल लग रही है? नहीं लग
- 7:57:30रही बिल्कुल भी। रीज़न बीइंग सिंपल सी बात
- 7:57:33है। आप बोल रहे हो कि यार ये वाला
- 7:57:34ऑब्जेक्ट नहीं क्रिएट करना। कंस्ट्रक्टर
- 7:57:36तो आप उसी ऑब्जेक्ट का क्रिएट कर रहे हो।
- 7:57:37बोल रहे हो ये वाला ऑब्जेक्ट नहीं क्रिएट
- 7:57:38करना। कोई और ऑब्जेक्ट क्रिएट करना है।
- 7:57:40ठीक है? यही करता है वर्चुअल। ये वाला
- 7:57:41फ्लाई नहीं कॉल करना। कोई और फ्लैग कॉल
- 7:57:43करना है। तो ये चीज़ सेंस नहीं बनाती। इन
- 7:57:44पर्टिकुलर यू नीड टू नो द एग्जैक्ट टाइप
- 7:57:46ऑफ़ व्हाट यू वांट टू क्रिएट। तो यानी पता
- 7:57:48होना चाहिए। इस बेस को पता होना चाहिए कि
- 7:57:49यार वर्चुअल नहीं हो सकता यह। इसी बेस को
- 7:57:52क्रिएट करना है आपको। किसी और को क्रिएट
- 7:57:54नहीं करना। ठीक है? है क्सक्वेंटली अ कॉल
- 7:57:56टू ए कंस्ट्रक्टर कैन नॉट बी वैलिड। ठीक
- 7:57:59है? तो ये थोड़ा का थोड़ा सा सेंसिबल सा
- 7:58:02रीज़न है। ये थोड़ा सा आपका प्रोग्रामिंग
- 7:58:04रीज़न है कि भ उस टाइम तक आपकी जो
- 7:58:06इंप्लीमेंटेशन कहती है कि उस टाइम तक
- 7:58:08वर्चुअल टेबल मेमोरी में नहीं होता। ठीक
- 7:58:11है? इसका मतलब जब आपका वर्ड का
- 7:58:13कंस्ट्रक्टर कॉल हो जाता है। उसके बाद
- 7:58:14वर्चुअल टेबल पिक्चर में आता है। ठीक है?
- 7:58:16और वर्चुअल फ्रेमवर ही पिक्चर में नहीं
- 7:58:17आया। और वर्चुअल टेबल ही एक तरीका है यह
- 7:58:20बताने का कि एक्चुअली जो फंक्शन वर्चुअल
- 7:58:22डिक्लेअ किया गया है वो एग्जैक्टली कहां
- 7:58:24बाइंड हुआ है। इसमें फ्लाई को वर्चुअल
- 7:58:27बोला था इसका वी टेबल बता रहा है कि फ्लाई
- 7:58:29जी ये वाला फ्लाई कॉल करना है। है ना? तो
- 7:58:32आपका वर्चुअल टेबल ही नहीं आया है। तो आप
- 7:58:34आप बता ही नहीं पाओगे कि एक्चुअली जो
- 7:58:36फंक्शन जिस भी कंस्ट्रक्टर को आपने
- 7:58:38वर्चुअल बनाया है वो कहां पॉइंट करेगा?
- 7:58:41क्योंकि वर्चुअल टेबल ही नहीं है। वही तो
- 7:58:42बताता है कि कहां पॉइंट करेगा? वर्चुअल
- 7:58:44टेबल ही नहीं है तो पता कैसे चलेगा? तो इस
- 7:58:46सेंस में ये एक इंप्लीमेंटेशन सेंस है कि
- 7:58:48भाई क्यों नहीं हो सकता कंस्ट्रक्टर
- 7:58:50वर्चुअल ये एक सेंस नॉर्मल सेंस है कि भाई
- 7:58:52एग्जैक्ट टाइप पता होना चाहिए आपको कि कौन
- 7:58:53सा बन बनाना चाह रहे हो आप। ठीक है? इन
- 7:58:55पर्टिकुलर वर्चुअल अलाउर्स टू कॉल ए
- 7:58:57फंक्शन नोइंग ओनली द इंटरफ़ेस नॉट एंड नॉट
- 7:59:00द एग्जैक्ट टाइप ऑफ़ द ऑब्जेक्ट। ठीक है?
- 7:59:01सिंपल सी बात है। बी डॉट फ्लाई कॉल करते
- 7:59:03हो। किसका फ्लाई कॉल होता है? स्परो का।
- 7:59:05टू क्रिएट ए ऑब्जेक्ट यू नीड टू कम यू नीड
- 7:59:08कंप्लीट इनेशन। ठीक है? इन पर्टिकुलर यू
- 7:59:10नीड टू नो द एग्जैक्ट टाइप ऑफ़ व्हाट यू
- 7:59:12वांट टू क्रिएट। यानी कि आपने बोल दिया
- 7:59:14यार बेस का कंस्ट्रक्टर ना वर्चुअल है।
- 7:59:16यानी कि यहां पर कॉल गई वो बोल रहा है कि
- 7:59:19यार यह नहीं कॉल करना। ठीक है? फ्लाई यह
- 7:59:21वाला नहीं कॉल करना था बर्ड का स्परो का
- 7:59:23करना था। आप यहां पे कह रहे हो ये वाला
- 7:59:25बेस का कंस्ट्रक्टर कॉल नहीं करना। कोई और
- 7:59:27करना है। आपने बेस को कंस्ट्रक्ट ही नहीं
- 7:59:28किया। इट्स नॉट अ गुड थिंग या फिर ये एक
- 7:59:32इलॉजिकल चीज है। ठीक है? तो इसीलिए आपका
- 7:59:35जो कंस्ट्रक्टर है वो वर्चुअल नहीं हो
- 7:59:38सकता। ठीक है? सिंपल सी रीज़न है। सिमिलरली
- 7:59:40आगे देखते हैं क्या? क्या डिस्ट्रक्टर
- 7:59:41वर्चुअल हो सकता है? डिस्ट्रक्टर वर्चुअल
- 7:59:44हो सकता है? ठीक है? इसको समझते हैं। अभी
- 7:59:46थोड़ी देर पहले जो हमने एग्जीक्यूट किया
- 7:59:47था इस कोड को दोबारा से कंपाइल करता हूं।
- 7:59:53तो अब ध्यान से देखो। ये लाइन एग्जीक्यूट
- 7:59:56हुई। ठीक है? बेस का कंस्ट्रक्टर कॉल हुआ।
- 7:59:59फिर डिराइव्ड का कंस्ट्रक्टर कॉल हुआ। फिर
- 8:00:01बेस का डिस्ट्रक्टर कॉल हुआ। डिराइव्ड का
- 8:00:03डिस्ट्रक्टर कॉल नहीं हुआ। ठीक है? अब ये
- 8:00:06थिंग आपको वियर्ड नहीं लग रही कि
- 8:00:07कंस्ट्रक्टर तो दोनों के कॉल हुए थे। बट
- 8:00:10जो डिस्ट्रक्टर है जब आपने डिलीट किया B
- 8:00:12को क्योंकि यह बेस का पॉइंटर था तो
- 8:00:14डिस्ट्रक्टर यह वाला कॉल हो गया।
- 8:00:17ठीक है? यह वाला डिस्ट्रक्टर कॉल ही नहीं
- 8:00:19हुआ। ठीक है? तो अब इस चीज को कैसे सॉल्व
- 8:00:21करोगे कि डिराइव्ड के डिस्ट्रक्टर को भी
- 8:00:23कॉल कराना है आपको। क्या और क्यों कराना
- 8:00:25है? सपोज़ करते हैं आपने यहां पे एक ऐसे
- 8:00:28वेरिएबल लिया था इंट स्टार a और डिराइव्ड
- 8:00:31के डिस्ट्रक्टर पे आपने a इक्वल टू न्यू
- 8:00:35इंट कोई एरे एलोकेट की थी 1000 साइज की।
- 8:00:39ठीक है?
- 8:00:41ऐसा कुछ किया था आपने। यानी कि आपने हीप
- 8:00:44पे मेमोरी एलोकेट की है और आप डिराइव्ड के
- 8:00:47डिस्ट्रक्टर में इसको डिलीट कर रहे हो। आप
- 8:00:48बोल रहे हो कि डिलीट हो जा भाई।
- 8:00:52ए
- 8:00:57ठीक है? ऐसा कुछ कर रहे हो। पर जब आप इसे
- 8:00:59कंपाइल करोगे और रन करोगे तो ध्यान से
- 8:01:03देखो। बेस का कंस्ट्रक्टर कॉल हुआ। बेस का
- 8:01:05डिराइव्ड का भी कंस्ट्रक्टर कॉल हुआ। यानी
- 8:01:07कि यह मेमोरी एलोकेट हो गई है। यह पॉइंटर
- 8:01:09एलोकेट हो गया है। ठीक है? बट बेस का
- 8:01:12डिस्ट्रक्टर कॉल हुआ। डिराइव का
- 8:01:14डिस्ट्रक्टर ही कॉल नहीं हुआ। यानी कि
- 8:01:15मेमोरी लीक दिख रहा है हमें यहां पे। यह
- 8:01:16कॉल ही नहीं हुआ। ये एग्जीक्यूट ही नहीं
- 8:01:18हुआ। अब जबकि ये एग्जीक्यूट हुआ ही नहीं
- 8:01:20तो ये मेमोरी डिलीट ही नहीं हो पाई। डिलीट
- 8:01:22नहीं हो पाई तो मेमोरी लीक आ गया। तो
- 8:01:24इसलिए कहते हैं कि इट इज़ रियलीेंट टू
- 8:01:26हैंडल प्रॉपर डिस्ट्रक्शन ऑफ़ अ डिराइव्ड
- 8:01:30क्लास। अब डिराइव्ड क्लास की प्रॉपर
- 8:01:32डिस्ट्रक्शन कैसे करेंगे? हम डिराइव्ड
- 8:01:34क्लास का डिस्ट्रक्टर कैसे कॉल करेंगे? हम
- 8:01:36बेस क्लास के डिस्ट्रक्टर को बना देंगे
- 8:01:39वर्चुअल।
- 8:01:41तो जब भी मैं तो कहूंगा जब भी आप बेस और
- 8:01:43डिराइव्ड का रिलेशन बना रहे हो यानी कि आप
- 8:01:45इन्हहेरिटेंस का यूज़ कर रहे हो तो बेस के
- 8:01:48डिस्ट्रक्टर को हमेशा पॉजिटिवली
- 8:01:52वर्चुअल बना दो। ठीक है? इससे क्या फायदा
- 8:01:55होता है? इससे फायदा यह है देखते हैं। अब
- 8:02:01ध्यान से देखो। आपका बेस का कंस्ट्रक्टर
- 8:02:03कॉल हुआ। बेस का डिराइव्ड का कंस्ट्रक्टर
- 8:02:06कॉल हुआ। उसके बाद डिराइव्ड का
- 8:02:08डिस्ट्रक्टर कॉल हुआ। फिर बेस का
- 8:02:10डिस्ट्रक्टर भी कॉल हुआ। यानी कि जब आप
- 8:02:12बेस के डिस्ट्रक्टर को वर्चुअल बना देते
- 8:02:14हो तो आप क्या कह रहे हो? आप ये कह रहे हो
- 8:02:16कि यार ये इस आप जैसे डिलीट भी किया तो
- 8:02:19इसका डिस्ट्रक्टर कॉल हुआ। ठीक है? बेस का
- 8:02:22डिस्ट्रक्टर कॉल होने गया। जब बेस का
- 8:02:23डिस्ट्रक्टर कॉल होने गया तो कहता है नहीं
- 8:02:25नहीं यह नहीं कॉल करना। उससे पहले
- 8:02:27डिराइव्ड का डिस्ट्रक्टर कॉल करो। फिर बेस
- 8:02:29का डिस्ट्रक्टर कॉल करो। यानी कि प्रॉपर
- 8:02:31डिस्ट्रक्शन हो रही है। अब ठीक है? तो इट
- 8:02:34इज रियलीेंट कि आप बेस क्लास के
- 8:02:39डिस्ट्रक्टर को वर्चुअल बनाओ। तो इसका
- 8:02:41आंसर है यस कि आप वर्चुअल डिस्ट्रक्टर बना
- 8:02:45सकते हो बट वर्चुअल कंस्ट्रक्टर नहीं बना
- 8:02:46सकते। तो वर्चुअल डिस्ट्रक्टर आपने बना
- 8:02:48दिया। बनाना बहुत जरूरी था क्योंकि मैं
- 8:02:50इसको डिलीट करना चाहता था। आपने यहां पे
- 8:02:52सिंपली देख लिया। ठीक है? तो आई होप आपको
- 8:02:55ये लेक्चर समझ आया होगा। वर्चुअल के बारे
- 8:02:57में आपको थोड़ी इन डेप्थ नॉलेज मिली होगी।
- 8:02:58थोड़ा सा कंफ्यूजिंग है ये वर्चुअल काफी।
- 8:03:00ठीक है? बट आपको समझना आना चाहिए, समझ में
- 8:03:03आना चाहिए। इंटरव्यू पर्सेक्टिव से काफी
- 8:03:05इंपॉर्टेंट है। और आई होप आपको चीज़ समझ आई
- 8:03:08होंगी। रन टाइम पॉलीमॉर्फिज्म ही होता है
- 8:03:10वर्चुअल से। तो वर्चुअल जिंदाबाद। ठीक है?
- 8:03:13मिलते हैं ऐसे किसी लेक्चर में। तब तक के
- 8:03:15लिए गुड बाय। इस वीडियो में देखने वाले
- 8:03:16हैं इनलाइन फंक्शनंस के बारे में। ठीक है?
- 8:03:18उससे पहले एक बार हम थोड़ा सा नजर डालते
- 8:03:21हैं कि नॉर्मली अगर C++ में फंक्शनंस कैसे
- 8:03:24वर्क करते हैं। आपके पास एक इंट मेन होता
- 8:03:26है। ठीक है? आपने यहां पर सपोज करते हैं
- 8:03:29फंक्शन डिक्लेअ किया हमने इन वॉइड
- 8:03:34नंबर शो
- 8:03:36ठीक है यहां पे आपने इंट नम लिया
- 8:03:40और आपने यहां पे सिंपली सी आउट कर दिया नम
- 8:03:47यह सिंपल अगर इंप्लीमेंटेशन है आपके पास
- 8:03:50एक फंक्शन है और आप इसको मेन से कॉल करते
- 8:03:52हो
- 8:03:54नंबर शो
- 8:03:58ठीक है? अब हम देखते हैं C++ नॉर्मली
- 8:04:00फंक्शन कॉल कैसे वर्क करती है। ठीक है? हम
- 8:04:01सबको पता है हमारे पास कुछ स्टक जैसा कुछ
- 8:04:03होता है। ठीक है? सी है ना? तो स्टक में
- 8:04:06सबसे पहले मेन कॉल होता है। मेन क्या
- 8:04:09बोलता है? कि मेन बोलता है कि यार नंबर शो
- 8:04:12को कॉल करो। तो जब नंबर शो कॉल होता है तो
- 8:04:15स्टैक में एक एंट्री बनती है। और एंट्री
- 8:04:17कैसी बनती है? वो। ठीक है? ऐसी कुछ एंट्री
- 8:04:20बनती है। वो होती है नंबर शो के
- 8:04:21कॉस्पोंडिंग। नंबर शो के कॉस्पोंडिंग।
- 8:04:24इसमें वेरिएबल एक इंट नम करके डिक्लेअ
- 8:04:27होता है। ठीक है? इंट नम करके डिक्लेअ
- 8:04:30होता है जो कि यहां से भेजा गया होगा। है
- 8:04:31ना? और ऐसे करके फिर एग्जीक्यूट होता है।
- 8:04:34फिर यहां से जब रिटर्न होता है डेट
- 8:04:35स्टेटमेंट नहीं भी लिखी हुई है तो अपने आप
- 8:04:37ही वो रिटर्न करता है। राइट? रिटर्न करता
- 8:04:39है तो फिर स्टक से ये एंट्री यहां से हटती
- 8:04:41है। यही होता है। तो ध्यान से देखो। यहां
- 8:04:44पर ना एक ओवरहेड होता है फंक्शन कॉल का।
- 8:04:46फंक्शन कॉलिंग का एक ओवरहेड होता है।
- 8:04:48कैसे? स्टार्टिंग में आप मेन में थे। जब
- 8:04:50आप इस लाइन पे होगे तो आप मेन में थे।
- 8:04:52जैसे आपने ये लाइन एग्जीक्यूट करी आपका
- 8:04:54कंट्रोल उठ के चला गया कहां पर? नंबर शो
- 8:04:57फंक्शन के अंदर। अब जब कंट्रोल नंबर शो के
- 8:05:00अंदर जा रहा है तो मेन से कंट्रोल हट गया।
- 8:05:01नंबर शो पे गया। नंबर शो पे कंट्रोल जाने
- 8:05:03का क्या मतलब है? स्टक में एक नंबर शो के
- 8:05:05कॉस्पोंडिंग एक एंट्री चली गई। अब क्योंकि
- 8:05:07एक एंट्री चली गई है तो इसके लिए कुछ
- 8:05:09एक्स्ट्रा वर्क भी करना पड़ा होगा। कुछ
- 8:05:11मेमोरी गई है। ठीक है? साथ ही साथ नम नाम
- 8:05:13का वेरिएबल एक बना होगा। फिर जब इस नम शो
- 8:05:17से आप बाहर गएगे। यहां से जब स्टक से
- 8:05:20एंट्री गई होगी इसको स्टक अनवाइंडिंग कहते
- 8:05:22हैं। जब स्टक अनवाइंडिंग हुई होगी तब ये
- 8:05:24नम नंबर जो है ये नम ये जो है ये डिलीट
- 8:05:26हुआ होगा आपका मेमोरी से। तो इस तरीके से
- 8:05:29काम होता है। ठीक है? तो यहां बहुत सारे
- 8:05:31स्टेप है। सबसे पहले आप कॉल कर रहे हो कॉल
- 8:05:33करके स्टैक में एंट्री बनाना। एंट्री
- 8:05:34बनाने के बाद जो वैल्यू यहां से दी गई है
- 8:05:36वो कॉपी होती है। कॉपी होने के बाद
- 8:05:37कंट्रोल आपका यहां जाता है। यहां जाने के
- 8:05:40बाद जब रिटर्न करते हो कंट्रोल वापस आपका
- 8:05:41मेन पे आता है। तो इट इज़ कॉल्ड फंक्शन
- 8:05:43कॉलिंग ओवरहेड। ठीक है? तो अगर ध्यान से
- 8:05:47सोचते हैं अगर हमारे पास कोई ऐसा छोटा सा
- 8:05:50फंक्शन है दिस इज स्मॉल फंक्शन राइट स्मॉल
- 8:05:52फंक्शन हम चाहते हैं फंक्शन कॉलिंग ओवरहेड
- 8:05:54ना हो ये बार-बार फंक्शन कॉलिंग इस काम के
- 8:05:57लिए सपोज़ करते हैं कि नम नम शो जो है ये
- 8:05:59न्यूमरस टाइम यूज़ हो रहा हो मेन के अंदर
- 8:06:01या फिर बहुत सारे जगह पे आपके प्रोग्राम
- 8:06:03में नम फंक्शन मिलियंस ऑफ़ टाइम कॉल हो रहा
- 8:06:05हो नम नम शो आप मिलियंस ऑफ़ टाइम कॉल कर
- 8:06:07रहे हो तो इट्स बेटर इट्स बेटर कि आप
- 8:06:10फंक्शन को कॉल ही ना करो यह स्टेटमेंट को
- 8:06:13उठाकर सर
- 8:06:15आप यहां पे ही लिख दो। दोबारा से सुनते
- 8:06:18हैं। इट्स बेटर कि आप फंक्शन को कॉल ही ना
- 8:06:20करो। फंक्शन कॉल नहीं करेंगे तो क्या
- 8:06:21होगा? टैग एंट्री नहीं बनेगी कभी। और बेटर
- 8:06:24है कि आप इस इसको उठाकर आप यहीं पर लिख दो
- 8:06:28डायरेक्टली। बट आप मैनुअली जा के हर जगह
- 8:06:31लिखोगे तो आप आपके लिए प्रॉब्लम आएगी।
- 8:06:33इसके लिए C++ आपको एक तरीका प्रोवाइड करता
- 8:06:36है कि आप उस फंक्शन को इनलाइन बना दो।
- 8:06:38इनलाइन का मतलब है कि वो फंक्शन छोटा होना
- 8:06:41चाहिए। सबसे पहली बात छोटा होगा। तो
- 8:06:43जहां-जहां पे आपका इनलाइन होगा, जहां-जहां
- 8:06:46पे वो फंक्शन यूज़ हो रहा होगा, आपका
- 8:06:48कंपाइलर क्या करेगा? कंपाइल करते हुए जो
- 8:06:50कोड जनरेट करेगा, आपका मशीन कोड जनरेट
- 8:06:52करेगा, उसमें उस जहां-जहां पे कॉलिंग हुई
- 8:06:55होगी, वहां पे इस फंक्शन को उठा के
- 8:06:57रिप्लेस कर देगा डायरेक्टली वैसे का वैसा।
- 8:06:59एक बार ध्यान से समझते हैं क्या कहना चाह
- 8:07:00रहे हैं हम।
- 8:07:02आपका एक फंक्शन था नंबर
- 8:07:06शो नाम से इंट आपने नम लिया
- 8:07:10और सी आउट कर दिया नम को
- 8:07:15ठीक है आपने यहां से नंबर शो कॉल किया
- 8:07:19और आपने 10 लिख दिया
- 8:07:22ठीक है अगर मैं इसको चलाने की कोशिश
- 8:07:24करूंगा
- 8:07:28तो सिंपली 10 प्रिंट हो गया है ना कुछ
- 8:07:30बड़ी बात नहीं थी इसमें बट मैंने कहा कि
- 8:07:32अगर यह नंबर शो जो है आपका वो इतनी बार
- 8:07:37कॉल हो रहा है। बहुत बार कॉल हो रहा है।
- 8:07:40बहुत बार कॉल हो रहा है। तो हर बार क्या
- 8:07:41हो रहा होगा? आपका मेन आएगा। लाइन नंबर 12
- 8:07:43एग्जीक्यूट होगी। 12 होने के बाद कंट्रोल
- 8:07:45जाएगा आपका नंबर शो के अंदर। स्टक में
- 8:07:47एंट्री बनेगी और आप आप यहां से वापस आ
- 8:07:49जाओगे। फिर आप दोबारा से
- 8:07:5213 लाइन को एग्जिट आप दोबारा से 13 लाइन
- 8:07:55को एग्जीक्यूट करोगे। आपका कंट्रोल फिर से
- 8:07:57जाएगा नम शो के अंदर। फिर आप एग्जिट
- 8:07:58करोगे। वापस आओगे। स्टक में एंट्री
- 8:08:00अनवाइंड करोगे। फिर से आप जाओगे ऐसे
- 8:08:02करते-करते आप हर बार हर बार सेम काम
- 8:08:04करोगे। ठीक है? हमने बोला हम चाहते हैं
- 8:08:06हमारी फंक्शन कॉलिंग ओवरहेड जो है वो खत्म
- 8:08:09हो जाए। हम नहीं चाहते कि ना हो। तो हम
- 8:08:11क्या करेंगे? इट्स बेटर कि इस फंक्शन को
- 8:08:13हम इनलाइन बना दें। इनलाइन बनाने से क्या
- 8:08:18होगा? यह जो आपका फंक्शन है, यह जो आपका
- 8:08:22कोड है, यह कोड उठ के इनलाइन हो जाएगा।
- 8:08:26यानी कि अभी आपको दिख रहा है ये एक फंक्शन
- 8:08:28है। बट जब भी कंपाइलर इसको कंपाइल करेगा
- 8:08:30इसको फटाफट से कंपाइल करते हैं।
- 8:08:42इसको फटाफट से कंपाइल करते हैं। G++ 6A
- 8:08:47ठीक है? कंपाइल किया आपने। आपको कोई फर्क
- 8:08:49नहीं नजर आ रहा। राइट?
- 8:08:54आपको कोई फर्क नहीं नजर आ रहा। बट ध्यान
- 8:08:56से देखो। यह हुआ क्या है? यह कोड उठकर यह
- 8:08:59सारा कोड उठकर यह फंक्शन जो है ये यहां से
- 8:09:02हो गया गायब। कंपाइल ने इसको उठा हटा हटा
- 8:09:04दिया यहां से। और हटाने के बाद इसको उठाकर
- 8:09:08इसको उठाकर सारी जगह यहां पे डाल दिया।
- 8:09:16ठीक है? और यहां पर नम की जगह यहां पर हर
- 8:09:18जगह 10 लिख दिया।
- 8:09:23तो कंपाइलर ने कुछ ऐसा इन सारी कॉल्स के
- 8:09:26लिए कर दिया है। इन सारी कॉल्स के लिए कर
- 8:09:29दिया है और इनको उठाकर हटा दिया है। यहां
- 8:09:31से कंपाइलर ने इंटरली ऐसे किया है। आपको
- 8:09:33नहीं दिख रहा। आपको कोड अपना लिखा हुआ
- 8:09:35जैसा है वैसा ही दिख रहा है। बट कंपाइलर
- 8:09:37ने उठा के ये काम कर दिया है। ठीक है?
- 8:09:39इससे क्या हुआ? आपकी सारी फंक्शन कॉलिंग
- 8:09:41ओवरहेड हट गई। क्योंकि फंक्शन कॉलिंग हो
- 8:09:43ही नहीं रही है। अब आपका जो जनरेटेड कोड
- 8:09:45है जो आपने एग्जीक्यूटल बनाई है उस पॉइंट
- 8:09:48पे ये ऐसा कोड दिख रहा है। इस टाइप का कोड
- 8:09:50दिख रहा है जो पहले हमने कोड लिखा था वैसा
- 8:09:52था ही नहीं है ही नहीं अब। ठीक है? तो
- 8:09:55इससे फायदा क्या होता है? आप जो यूजर जो
- 8:09:57कोड लिख रहा है उसके लिए तो उसको अपना
- 8:09:59क्लीन कोड दिख रहा है। है ना? क्लीन कोड
- 8:10:01दिख रहा है। अच्छा कोड दिख रहा है। बट
- 8:10:02एक्चुअली जो कोड है वो सी आउट से रिप्लेस
- 8:10:04हो गया है। ठीक है? तो इसको कहते हैं हम
- 8:10:07इनलाइन फंक्शन। इनलाइन से फायदा क्या होता
- 8:10:08है? आपके फंक्शन कॉलिंग ओवरहेड बजती है।
- 8:10:10थोड़ा टाइम बचता है आपका एग्जीक्यूशन का।
- 8:10:12है ना? और इससे नुकसान क्या होता है?
- 8:10:15नुकसान ये होता है कि अगर आपने बहुत
- 8:10:17ज्यादा इनलाइन यूज़ कर लिया, बहुत ज्यादा
- 8:10:19इनलाइन यूज़ कर लिया तो आपका एग्जीक्यूटेबल
- 8:10:22का साइज बढ़ जाता है। ठीक है? इसलिए हम
- 8:10:26इसको बोलते हैं कि यूज़्ड इन स्मॉल साइज
- 8:10:27फंक्शन। यानी कि जो छोटे फंक्शन होंगे ना
- 8:10:30उसी में अगर यह फंक्शन सपोज़ करते हैं बहुत
- 8:10:32बड़ा होता। बहुत बड़ा होता।
- 8:10:36ठीक है? मान लो 2000 लाइंस का होता।
- 8:10:40लाइन ऑफ कोड का होता। अगर यह फंक्शन इतना
- 8:10:41बड़ा होता
- 8:10:43तो अगर आप इस इतने बड़े सारे फंक्शन को
- 8:10:47इतने बड़े सारे फंक्शन को अगर आप रिप्लेस
- 8:10:49करते यहां पर जाके इस इधर जाके इधर जाके
- 8:10:52तो कितना सारा कोड बढ़ जाता और इतना सारा
- 8:10:55कोड बढ़ जाता तो आपकी एग्जीक्यूटेबल का
- 8:10:57साइज भी बढ़ जाता। ठीक है? और क्योंकि
- 8:11:00एग्जीक्यूटेबल का साइज बढ़ गया था। तो आप
- 8:11:02नहीं चाहते यह काम हो। है ना? आप नहीं
- 8:11:04चाहते एग्जीक्यूटेबल का साइज बढ़ा बढ़ाया
- 8:11:05जाए। तो इसलिए इन फंक्शनंस को वहीं पे इन
- 8:11:07लाइन को वहीं यूज़ करते हैं जहां फंक्शन
- 8:11:08बहुत छोटा हो। ठीक है? छोटा फंक्शन हो।
- 8:11:11ठीक है? अब देखते हैं अगर मैं इसको हटा
- 8:11:13दूं इन लाइन को यहां से इन लाइन को हटा
- 8:11:16दूं और G++ मैं इसको कंपाइल करता हूं और
- 8:11:20एलएस हफन AL करूंगा मैं A डॉट आउट को तो
- 8:11:24ध्यान से देखो इसका कितना साइज बन रहा है?
- 8:11:26कितना साइज बन रहा है? 3590
- 8:11:29इतना बाइट्स। ठीक है? जितने बाइट बन रहा
- 8:11:31है। और अगर मैं अब इसको उठा के इनलाइन कर
- 8:11:34देता हूं।
- 8:11:36इसको मैं इनलाइन कर दूं। मैंने बोला
- 8:11:37इनलाइन में क्या होता है? आपका जो यह
- 8:11:39प्रोग्राम है, यह उठकर
- 8:11:42यहां लिखा जाता है। यानी लाइन ऑफ कोड
- 8:11:44थोड़े बढ़ जाते हैं। ठीक है? कोड बढ़ जाता
- 8:11:46है। तो अब उठा के अगर मैं इसको थोड़ा ना
- 8:11:50इसको बड़ा बड़ा कर देते हैं। मान लो इसके
- 8:11:51अंदर मैं और लिख देता हूं सी आउट नम * टू
- 8:11:57एंडल और यहां लिख देता हूं सी आउट नम * 3
- 8:12:03हैंडल। ठीक है? ऐसे बना देते हैं हम। और
- 8:12:06अभी इन लाइन को हटाते हैं और कोड का साइज
- 8:12:08देखते हैं। क्लियर कर देते हैं। इसको
- 8:12:10कंपाइल करते हैं। इसको रन करके देखते हैं।
- 8:12:13आपका रन हो रहा है। अब साइज देख लेते हैं
- 8:12:15एक बार।
- 8:12:1735090 ठीक है? इतना केबी है। अब ध्यान से
- 8:12:20देखना। इसको हम फटाफट से अब इनलाइन बना
- 8:12:22देते हैं। इनलाइन बना दिया। अब क्या होगा?
- 8:12:25ये तीनों लाइंस जो हैं, यह सारी इधर
- 8:12:27रिप्लेस हो जाएंगी। कंपाइलर रिप्लेस कर
- 8:12:29देगा। तो, लाइन ऑफ कोड बढ़ जाएंगे
- 8:12:30इफेक्टिव। तो, आपका कोड का साइज भी बढ़
- 8:12:32जाएगा। यह देखो। हमने करा इसको कंपाइल।
- 8:12:36ध्यान से देखो। कोड का साइज बढ़ गया। कुछ
- 8:12:38बाइट से भी बड़ा है पर बढ़ गया है। है ना?
- 8:12:40तो इसलिए इनलाइन फंक्शन को हम कब यूज़ करना
- 8:12:42चाहेंगे? हम तब यूज़ करना चाहेंगे जब आपका
- 8:12:44कोड जो है छोटा हो। कंपेरेटिवली काफी छोटा
- 8:12:47हो। ठीक है? और वैसे वैसे आजकल के जो
- 8:12:50कंपाइलर्स आ रहे हैं वो क्या करते हैं?
- 8:12:52उसके अंदर ना कुछ लेवल ऑफ़ ऑप्टिमाइजेशन
- 8:12:54होती है। लेवल ऑफ़ ऑप्टिमेशन होती है। तो,
- 8:12:56वह क्या करता है कि वह खुद ही यह दिमाग
- 8:12:59लगा लेता है। आप चाहे 2000 कोड का लाइन
- 8:13:01बना लो। 2000 लाइन ऑफ कोड का कोड लिख दो।
- 8:13:03वह देखेगा यार इतना बड़ा है तो इसको
- 8:13:05इनलाइन बनाना नहीं ठीक नहीं है। इसको
- 8:13:06इनलाइन बनाना ठीक नहीं है। तो वह उठाकर
- 8:13:09उसको इनलाइन के कीवर्ड को हटा देगा। उसको
- 8:13:11नॉर्मल फंक्शन की तरह ट्रीट करने लग
- 8:13:13जाएगा। ठीक है? आजकल कंपाइलर इतना स्मार्ट
- 8:13:15हो गए हैं। ठीक है? बट जो कांसेप्ट है जो
- 8:13:18चलता आ रहा है कन्वेंशनली वो यही है।
- 8:13:21इनलाइन का मतलब उठा के इधर चेंज कर दो। बट
- 8:13:23जैसा कि मैंने कहा कि अगर कोई आपसे पूछे
- 8:13:25क्या ये जरूरी है? बट आजकल ये कंपाइल ऐसा
- 8:13:28जरूरी नहीं है। अगर आप उसको कुछ सर्टेन
- 8:13:30लेवल ऑफ़ ऑप्टिमाइजेशन लगी होती है
- 8:13:31कंपाइलर्स के अंदर जब आप उसको उठाकर
- 8:13:34कंपाइल करते हो तो वो खुद ही देख लेता है
- 8:13:35कि अगर कुछ सर्टेन लेवल ऑफ लाइन ऑफ़ कोड से
- 8:13:37ज्यादा है तो यानी एग्जीक्यूटेबल साइज बढ़ा
- 8:13:39देगा ये तो बढ़ा देगा। तो आप इसको इनलाइन
- 8:13:42नहीं रखोगे। कंपाइलर खुद ही इस इनलाइन
- 8:13:44कीवर्ड को इग्नोर कर देगा। उसको नॉर्मल
- 8:13:46फंक्शन की तरह ट्रीट करने लग जाएगा। ठीक
- 8:13:47है? अब फटाफट से फॉर्मूली पढ़ लेते हैं।
- 8:13:49हमने क्या लिखा है? एन इनलाइन फंक्शन इज़ अ
- 8:13:51रेगुलर फंक्शन दैट डिफाइंड बाय कीवर्ड
- 8:13:53इनलाइन। द कोड ऑफ द इनलाइन फंक्शन
- 8:13:55इंसर्टेड डायरेक्टली इंटू द कोड ऑफ द
- 8:13:58कॉलिंग फंक्शन बाय कंपाइलर व्हाइल
- 8:14:00कंपाइलिंग। कंपाइलिंग के टाइम पे
- 8:14:01डायरेक्टली उस जगह से उस जगह पे रिप्लेस
- 8:14:03कर दिया जाता है जहां से उसे कॉल किया जा
- 8:14:04रहा है। व्हिच कैन रिजल्ट इन फास्ट
- 8:14:07एग्जीक्यूशन लेसर ओवरहेड कंपेयर टू रेगुलर
- 8:14:09फंक्शन कॉल। ये हमने समझ लिया। इंस्टेड ऑफ़
- 8:14:11कॉलिंग फंक्शन, द स्टेटमेंट ऑफ़ द फंक्शन
- 8:14:13आर पेस्टेड इन द कॉलिंग फंक्शन। ये हमने
- 8:14:15समझ लिया। और ये यूज़ होते हैं जहां पे
- 8:14:17फंक्शन का साइज़ स्मॉल हो। बट सो दैट
- 8:14:19एग्जीक्यूट का साइल स्मॉल बने बट आजकल के
- 8:14:23कंपाइलर में वो ऑप्टिमाइजेशन लेवल से
- 8:14:24हैंडल हो जाता है। तो इतने ज्यादा वरी
- 8:14:27करने की जरूरत नहीं है। बट फिर भी
- 8:14:28कांसेप्ट यही कहता है छोटा रखोगे कोड उसको
- 8:14:31फंक्शन को तो इनलाइन बना दो वरना मत बनाओ।
- 8:14:33ठीक है? और अगर मैं बोलूं इनलाइन को
- 8:14:35कंपेयर करूं आपके प्रीपर से। प्रीपर
- 8:14:38डेरिवेटिव से जहां पे हैश डिफाइन कर रहे
- 8:14:40थे हम। ठीक है? हैश डिफाइन से कंपेयर करें
- 8:14:42तो दोनों सेम ही चीज करते हैं। बट ये क्या
- 8:14:44है? है ये कंपाइलिंग के टाइम करता है जब
- 8:14:46कंपाइल हो रहा होता है कोड और वो
- 8:14:48कंपाइलिंग से भी पहले पहले जब प्री
- 8:14:49प्रोसेसिंग हो रही होती है तब जाके वो
- 8:14:51डायरेक्टली रिप्लेस करता है। ठीक है? और
- 8:14:53इनलाइन में क्या है? आप इनलाइन के अंदर
- 8:14:56क्या है? इनलाइन के अंदर कंपाइलर खुद से
- 8:14:57दिमाग लगा पाता है। खुद से दिमाग लगा पाता
- 8:15:00है कि यार सर्टेन लेवल ऑफ लाइन से ज्यादा
- 8:15:02बड़ा कोड अगर हो रहा है, ज्यादा बड़ा कोड हो
- 8:15:04रहा है, तो इनलाइन हटा दो। उसको नॉर्मल
- 8:15:05फंक्शन कॉल की तरह ट्रीट करो। ठीक है? बट
- 8:15:08आपके हैश डिफाइन जो आपके प्रीसेसर
- 8:15:10डेरिवेटिव है, वहां पे आप ये नहीं कर
- 8:15:11सकते। वहां तो कंपाइलर कंपाइलिंग का लॉजिक
- 8:15:14लगने से पहले ही वो ब्लाइंडली रिप्लेस कर
- 8:15:18देता है। जहां-जहां आपने हैश डिफाइन किया
- 8:15:19हुआ है। है ना? जहां-जहां पर आपने लिखा
- 8:15:21हुआ है वो ब्लाइंडली रिप्लेस कर देता है।
- 8:15:22तो वहां तो कोड का साइज बढ़ेगा ही बढ़ेगा।
- 8:15:24यहां पर कोड का साइज हो सकता है बढ़े ना
- 8:15:26बढ़े वो डिपेंड करता है कंपेयर किस लेवल
- 8:15:28का ऑप्टिमाइज्ड है। तो आई होप आपको इनलाइन
- 8:15:30फंक्शन समझ आया होगा। इसका कंपैरिजन
- 8:15:32मैक्रोस के साथ समझ आया होगा। प्रीपर
- 8:15:33डेरिवेटिव्स के साथ समझ आया होगा। तो
- 8:15:35मिलते हैं ऐसी ही किसी नेक्स्ट वीडियो
- 8:15:37में। तब तक के लिए गुड बाय। फाइनली आपने
- 8:15:39इस लेक्चर को समाप्त कर लिया है मित्रों
- 8:15:41और हजार में से कोई एक व्यक्ति होता है जो
- 8:15:43यहां तक पहुंच पाता है तो अ बिग राउंड ऑफ़
- 8:15:45अप्लॉज़ फॉर ऑल यू गाइज़ बहुत ही कम लोग
- 8:15:48यहां तक पहुंच पाते हैं। अब आगे वाले आने
- 8:15:51वाले लेक्चर के अंदर हम सीखेंगे C++ के
- 8:15:53एसटीएल के बारे में और जावा के बारे में
- 8:15:56कुछ सरप्राइज आपको ऐड ऑन फ्यूचर लेक्चर्स
- 8:15:58में देखने को मिलने वाले हैं। इन केस अगर
- 8:16:00आप नए हैं इस चैनल के ऊपर सब्सक्राइब जरूर
- 8:16:02करें इसको। वीडियो अच्छी लगी तो कमेंट
- 8:16:03जरूर छोड़ के जाएं। लाइक तो अगर अच्छा लगा
- 8:16:05होगा तो आपने ऑलरेडी कर ही दिया होगा।
- 8:16:07जनरली मैं लाइक, शेयर, सब्सक्राइब वाली
- 8:16:08कहानी गाता नहीं हूं। पर अब थोड़ा करना
- 8:16:10पड़ रहा है मित्रों। तो अच्छा लगा आप सभी
- 8:16:13से मिलके। ठीक है? और नेक्स्ट वीडियो का
- 8:16:15वेट करो जहां पे C प्लस प्लस HTL के बारे
- 8:16:17में हम पढ़ेंगे और उस वीडियो के अंदर और
- 8:16:20कुछ सरप्राइजेस के बारे में आपको हम
- 8:16:21बताएंगे। बाकी मुझे एक्सपीरियंस शेयर करते
- 8:16:23रहना यार ताकि मैं और इंप्रूव कर पाऊं आगे
- 8:16:25आने वाली वीडियोस के अंदर। और जो ₹1 वाला
- 8:16:27जो स्ट्रक्चर फॉर्मेट है इन केस आपने बाय
- 8:16:29नहीं किया तो बाय कर लो। ठीक है? और उसका
- 8:16:31एक्सपीरियंस मुझे शेयर करना कमेंट सेक्शन
- 8:16:33के अंदर। ठीक है? लव यू ऑल गाइस। ब बाय।
About this transcript
This page contains the full transcript of Complete C++ OOPS in 1 Shot by CodeHelp - by Babbar, generated from the public captions YouTube serves with the video. The transcript has 96,642 words across 12,354 segments, with the original timestamps preserved so you can click any line to jump to that moment in the embedded player.
What you can do with it
Use the transcript to take notes, quote the speaker, build a study guide, generate a summary with ChatGPT or Claude via the YouTube Summary tool, or export it as a timed subtitle file with YouTube to SRT. You can also re-open it in the transcriber to choose a caption track available on the video.
Free YouTube transcript tool
YouTube2Text is a free YouTube transcript generator — no signup, no daily limit. Paste any YouTube link and get the full transcript instantly, with timestamps, click-to-jump, caption language selection, AI prompts for ChatGPT, Claude, and Gemini, and exports to TXT, SRT, VTT, or Markdown.