0:00
हमने method overriding को तो काफी नज़दीक से देख�
0:02
लेकिन क्या आपको पता है कि constructor के साथ overriding थोड़ी से differently काम करती ह�
0:06
क्या differences हैं, कितना differently काम करती है, कैसे करनी है चीज़�
0:09
चलते हैं computer screen में and let's get started अच्छा constructor के बारे मे�
0:20
बात नहीं करी है, यह क्या चल रहा है यह कंस्ट्रक्टर के बारे में बात करेंगे अब मान लो जो कंस्ट्रक्टर है वह जैसे तरह से होता ठीक ह�
0:28
यहां पर कंस्ट्रक्टर ऐसे बना रहे हैं मान लो और कंस्ट्रक्टर बनाने के बाद पालो इसके अंदर मैं लिखता हू�
0:34
तो आप कंसोल डॉट लॉग तो मैं अपने लिखता हूं इंप्लॉई कंस्ट्रक्टर इस हेयर ठीक ह�
0:44
मैंने यह लिख दिया अब मैंने इंप्लॉई के अंदर डाला है कंस्ट्रक्टर प्रोग्रामर के अंदर नहीं डाला है ध्या�
0:50
इस बात का ठीक है, employee के अंदर डाला है constructor, लेकिन use हम नीचे programmer कर रहे हैं
0:54
तो आप कहोगे, क्या या, reload करेंगे, तो कुछ भी नहीं दिखेगा
0:58
क्योंकि हमने तो, एक minute, यहाँ बढ़ क्यों दिखा, ठीक है, तो यह सवाल होता है बहुत सारे लोगों का
1:03
जवाब देता है उसका क्या होता है कि जब आप यहाँ पर constructor नहीं डालते ह�
1:08
programmer class में तब automatically यह constructor javascript engine के द्वारा डाल दिया जाता है javascript engine आपसे कहता है कहता है a lc minus क्य�
1:19
कहता है कहते है a lc minus तू तो constructor बना नहीं रहा तो क्यों न�
1:24
मैं बना दूँ क्योंकि तू तो सुदरेगा नहीं आलसी है मैं बना देता हूँ constructor तो वो बना क्या करता है वो ये constructor बना देता है ये constructor ये बना देता है constructor automatically आपको कुछ करने की ज़रूरत भी नहीं है समझ रहो इस बात को समझ रहो कितना बढ़िया constructor होता है यार ये sorry javascript engine कितन�
1:54
arguments pass constructor 10 arguments super 10 arguments
2:14
मैं इसको comment out कर देता हूँ और मैं यहाँ पर कुछ ऐसे लिख देता हू�
2:19
if there is no constructor in the child class और मैं यहाँ पर लिख दूँग�
2:29
अगर कोई constructor नहीं है child as में this is created automatically
2:36
ठीक है चलो magically लिख देता हूँ यार automatically create हो जाएगा ठीक ह�
2:41
तो यहाँ पर अगर आपने कुछ नहीं डाला constructor के अंदर तो यह automatically create हो जाएगा however however
2:49
अगर आपने डाला अच्छा मैं एक चीज दिखाता हूँ आपको जब हम यहाँ पर programmer बना रहे है�
2:55
ठीक है देखो programmer का कोई constructor नहीं है यहाँ पर जब हम यहाँ पर programmer बना रहे है�
3:00
तब मैं constructor में कुछ दे नहीं रहा हूँ मालो मैं name देता हूँ और मैं यहाँ पर लिखता हू�
3:04
और this.name is equal to name यह मैंने employee में किया है programmer में नहीं किया है ठीक ह�
3:09
यह मैंने employee में किया है अब अगर मैं यहाँ पर programmer harry कर द�
3:15
तो आप बताओ मुझे नीचे comment में कि क्या होगा मुझे बताओ comment में क्या ह�
3:21
जैसे कि मैंने already आपको यह बता दिया यह constructor automatically बनेग�
3:25
तो है इस कंस्ट्रक्टर को मिलेगा फिर सुपर वाला जो कीवर्ड है वो इस कंस्ट्रक्टर को चला देग�
3:29
और ये कंस्ट्रक्टर हैरी नाम के साथ चल जाएगा तो employees constructor is here और यहाँ प�
3:35
चेंज कर सकता है इसको कुछ इस तरह कुछ इस तरह से कर सकता हूं ठीक है मैं जस्ट चेंज कर रहा हूं आपक�
3:42
दिखाने के लिए कि यहां पर नेम भी अक्षर में यूज हो पाएगा नेम भी पहुंच जाएगा ठीक है तो मैं आपको ने�
3:49
दूंगा इसे होगा इंप्लोई कंस्ट्रक्टर इसे यह करने के बाद जब रिलोड करूंगा मैं प्रोग्रामर क्लास को यू�
3:54
कर रहा हूं यहां पर चला गया है इंप्लोई कंस्ट्रक्टर इस एर इंप्लोई लॉग देखिए इंप्लोई इफेक्ट फॉर ली�
3:59
टू अप्रूड व्हाट्सएप टीवelve तो यह सारी की सारी चीजें जो है यहां पर आ गई देख देख आप लोग मैंन�
4:05
यहां पर सुपर कॉल किया और फिर इसके बाद वह एक्सट्राइज GeneTec यह सारी चीजें चल रही है मैंने प्रोग्राम�
4:13
for some reason constructor super call constructor for any reason super constructor call
4:26
ठीक है लेकिन for some reason यार अगर हम लोग चाहते ना ह�
4:30
तब क्या करेंगे तब हम लोग यहीं पर लिख देंगे मान लो मैं employee की जगह programmer लिखने जाता हूँ for some reason ठीक ह�
4:40
तो क्या होगा यहाँ पर programmers constructor is here और मैं यहाँ पर लिख भी देता हूँ this is a newly written
4:48
constructor ठीक है save कर लेता हूँ इसको तो लोग wait करता हूँ यार ताक�
4:54
रैपलेट भी ले ले चेंजेस अब यहाँ पर देखो यह क्या रहा गय�
4:59
अब लोग कहो गई यार यह क्या है यार यह तो चीडिंग है अगर आपन�
5:04
अगर आपने एक class को derive किया है तो आपको super constructor
5:09
call करना ही पड़ेगा समझ रहे हो समझ लो देखो यहाँ पर लिखा हुआ ह�
5:14
कि must call super constructor in derived class before accessing this or returning from derived constructor
5:21
at new programmer मतलब यह है कि आपको क्या करना है कि यहाँ प�
5:26
super को use करना ही पड़ेगा आपके पास कोई choice नहीं है तो आपको super तो चलाना पड़ेग�
5:32
ठीक है बागी आप देख लो तो आपको super को name के साथ चलाना पड़ेगा बाकि आप कुछ और लिखना चाते हो गर यहाँ प�
5:37
console.log में कि बाई programmer this is a newly written constructor अगर कुछ ऐसा करना चाते हो आ�
5:43
तो हाँ वो कर लो JavaScript engine कहता है लेकिन कहता है भाई आपको super keyword को use करना पड़ेग�
5:50
और ये super keyword को use आपको this को use करने स�
5:54
पहले करना होगा वो यार ये क्या है यार मतलब कुछ भ�
5:58
नहीं कुछ भी नहीं this को अगर आप लोग use करना चाते हो तो आपक�
6:01
super के नीचे ही करना पड़ेगा अगर आपने मालों यहाँ पर लिख दिया this.name
6:05
तो आपको फिर से error मिलेगा मैं दिखाता हूँ अगर आपने यहाँ पर this.name
6:09
लिख भी दिया ना तो यहाँ पर error आ गया देखो ठीक है तो मैं अगर यह हटा दूँग�
6:13
this.name यहाँ से मैं जस्ट आपको reload करके दिखाता हूँ कि apple save हो गई है उसके बाद भी error ह�
6:18
और ये line number 21 पर है जैसे कि आप देख सकते हो और मैं अगर ये हटा दूँग�
6:23
program save reload and yes it works
6:37
चला ठीक है और इसके बाद बाकी सारी चीजें जो है आपको यहाँ पर दिख रही है ठीक है तो इस तरह से जो ह�
6:44
ओवर राइडिंग काम करती है आप लोगों को समझ पर आ गया होगा यह कि किस तरह से होता है ठीक है तो जैसे कि आ�
6:51
देख सकते हैं यहाँ पर overriding constructor with a constructor things are a bit tricky different ठीक है इतन�
6:57
भी tricky नहीं है मैंने समझा दिया जो भी था according to the specification if a class
7:01
extends another class and has no constructor then the following empty constructor is generated मैंने यह सब आपको लिख क�
7:07
दिखा दिया इस तरह का जो empty constructor है वो generate हो जाएगा अग�
7:11
आपने अपना constructor नहीं लिखा तो ये बात मैंने आपको यहाँ पर भी लिख कर दिये ठीक ह�
7:15
और I hope कि आप लोग को समझ में भी आ गई है constructors in inheriting classes must
7:21
call super and do it before using this ठीक है तो य�
7:25
rule होता है जो कि आपको follow करना है ये भी मैंने आपको दिखा दिया कि error throw किया जा रहा थ�
7:29
जब हम ऐसा कर रहे थे और error throw नहीं किया जा रहा था जब हमन�
7:33
इस rule को follow किया we can also use super dot method
7:37
in a child method to a class parent method मतलब कि अगर आ�
7:41
child में से एक overridden method को यानि कि parent के overridden method को call करना चाते हो तो आ�
7:47
super dot उस method का नाम लिख सकते हैं जैसे कि अब नहीं यहाँ पर किय�
7:51
कौन सा method के साथ किया था मैंने request leaves के साथ किया था मैंने super dot request leaves करके उसको call कर दिया थ�
7:56
parent वाले को तीके तो आप इस तरह से कर सकते हो I hope कि आप लोगों समझ में आ गय�
8:00
I hope it was not too much to grasp मैं सारा source code
8:04
सारी dapples description में आप लोगों को दे दूँगा आपके पास notes भी ह�
8:07
आपके पास यहाँ पर playlist है javascript की इसको access करो यहाँ click करके bookmark जरूर करो या�
8:13
और यहाँ click करके इसको save जरूर करो अभी के लिए इस वीडियो में इतना है guys thank you so much guys for watching this video
8:18
and I will see you next time प्रस्तुति प्रस्तुत�