जब तक आप सभी चर "सार्वजनिक" नहीं बनाते हैं, यानी उन्हें Functionसीधे या prototypeसंपत्ति के माध्यम से सदस्य बनाते हैं।
var C = function( ) {
this.x = 10 , this.y = 20 ;
this.modify = function( ) {
this.x = 30 , this.y = 40 ;
console.log("(!) C >> " + (this.x + this.y) ) ;
} ;
} ;
var A = function( ) {
this.modify = function( ) {
this.x = 300 , this.y = 400 ;
console.log("(!) A >> " + (this.x + this.y) ) ;
} ;
} ;
A.prototype = new C ;
var B = function( ) {
this.modify = function( ) {
this.x = 3000 , this.y = 4000 ;
console.log("(!) B >> " + (this.x + this.y) ) ;
} ;
} ;
new C( ).modify( ) ;
new A( ).modify( ) ;
new B( ).modify( ) ;
आप कुछ बदलाव देखेंगे।
सबसे महत्वपूर्ण माना जाता है कि "सुपर-क्लास" कंस्ट्रक्टर को कॉल अब इस पंक्ति में निहित है:
<name>.prototype = new C ;
दोनों Aऔर Bअब होगा व्यक्तिगत रूप से परिवर्तनीय सदस्यों xऔर yजो मामले अगर हम लिखा है | नहीं होगा ... = Cबजाय।
फिर, x, yऔर modifyसब "सार्वजनिक" के सदस्यों को तो एक अलग बताए जाते हैं कि Functionउन्हें
<name>.prototype.modify = function( ) { }
Functionउस नाम से मूल को "ओवरराइड" करेगा ।
अंत में, कॉल को घोषणा modifyमें नहीं किया जा सकता है Functionक्योंकि "सुपर-क्लास" के लिए निहित कॉल तब फिर से निष्पादित की जाएगी जब हम prototype"उप-वर्ग" की संपत्ति को "सुपर-क्लास" माना जाएगा।
लेकिन ठीक है, यह कम या ज्यादा है कि आप जावास्क्रिप्ट में इस तरह का काम कैसे करेंगे।
HTH,
FK
modifyएक विधि नहीं है, लेकिन एक नेस्टेड फ़ंक्शन है - उन दोनों के बीच अंतर है ...