Kald med argument af konstruktør for superklasse
Hej,jeg kommer til Javascript fra Java og C++ og har lidt problemer.
Jeg har en klasse Observer som oprettes med en værdi af type Subject som argument:
function Observer(_subject){
if(!(_subject instanceof Subject)){
throw new Error("Observer constructor: _subject not of type Subject");
}
this.subject = _subject;
//bla bla bla
}
Samtidig vil jeg gerne nedarve en klasse SlaveSelect fra Observer, hvilket jeg gør ved
function SlaveSelect(_subject){
//Bummelum, blandt andet:
this.parentClass = Observer;
this.parentClass(_subject); //Initier ting i superklasse
//Bummelum bing bong
}
SlaveSelect.prototype = new Observer;
Men udførelse af den sidste af de ovenstående linier resulterer i at min "Observer constructor: bla bla"-exception kastes, fordi Observer-konstruktøren kaldes uden argument (eller med "" eller hvad ved jeg - i hvert fald ikke med noget af type Subject).
Hvordan opnår jeg fra den nedarvede klasses konstruktør at kunne kalde superklassens konstruktør med et argument uden at få fejl i ovenstående tilfælde? Kan jeg lave en dummy i stil med
dummy = new Subject();
SlaveSelect.prototype = new Observer(dummy);
(det ville være en grim løsning, selvom det virkede).
På forhånd tak.