No, a menos que haga todas las variables "públicas", es decir, las haga miembros de Functionla prototypepropiedad directamente o mediante la propiedad.
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( ) ;
Notarás algunos cambios.
Lo más importante es que la llamada al constructor de supuestas "superclases" ahora está implícita dentro de esta línea:
<name>.prototype = new C ;
Ambos Ay Bahora tendrán miembros modificables individualmentex y ylo que no sería el caso si hubiéramos escrito en su ... = Clugar.
Entonces, x, yy modifyson todos los miembros "públicos" de manera que la asignación de una diferente Functiona ellos
<name>.prototype.modify = function( ) { }
"anulará" el original Functioncon ese nombre.
Por último, la llamada a modifyno se puede hacer en la Functiondeclaración porque la llamada implícita a la "superclase" se volvería a ejecutar cuando establezcamos la supuesta "superclase" en la prototypepropiedad de las supuestas "subclases".
Pero bueno, así es más o menos cómo harías este tipo de cosas en JavaScript.
HTH,
FK
modifyno es un método, sino una función anidada; hay una diferencia entre esos dos ...