Ich versuche, eine Factory-Funktion, die eine Superklasse und eine Funktion als Argumente akzeptiert, und gibt einen Konstruktor für eine Unterklasse, die überschreibt und wendet einen Filter auf die add() -Methode.Unterklasse Fabrik fehlt Prototyp - Javascript
Das Problem, das ich bekomme, ist, wenn ich diesen Konstruktor verwenden, um dieses Unterklasse-Objekt zu erstellen und add() aufrufen, die add() - Methode wird nicht erkannt.
Wenn es hilft, versuche ich Techniken wie Abschnitt 9.7.2 aus Javascript zu verwenden - Der definitive Leitfaden von David Flanagan.
Schätzen Sie jede Hilfe, danke.
function subclassFactory(superclass,func){
var constructor = function(){
superclass.apply(this,arguments);
var proto = constructor.prototype
= Object.create(superclass.prototype);
proto.constructor = constructor;
proto.add = function(){
if(!func(arguments))
{
return superclass.prototype.add.apply(this,arguments);
}
}
}
return constructor;
}
Möchten Sie Codebeispiel etwas ausmachen, zeigen die Verwendung von 'subclassFactory' für ein Objekt, in dem'() hinzufügen, 'wird nicht erkannt zu werden? –
Sie haben fälschlicherweise die Manipulation von 'constructor.prototype' im Konstruktor. – Bergi