Heim >Web-Frontend >js-Tutorial >Detaillierte Erläuterung der JavaScript-Vererbungsmethode (4)

Detaillierte Erläuterung der JavaScript-Vererbungsmethode (4)

零到壹度
零到壹度Original
2018-03-22 14:33:231464Durchsuche

Dieser Artikel erklärt hauptsächlich die JavaScript-Vererbungsmethode im Detail und teilt sie Ihnen hauptsächlich in Form von Code mit. Ich hoffe, dass er Ihnen helfen kann.

1, erben Sie die Werkzeugfunktion

/**
 * @param {String} className
 * @param {String/Function} superClass
 * @param {Function} classImp
 */
function $class(className, superClass, classImp){
    if (superClass === '') superClass = Object;
function clazz() {
        if (typeof this.init == "function") {
            this.init.apply(this, arguments);
        }
    }
    var p = clazz.prototype = new superClass();
    var _super = superClass.prototype;
    window[className] = clazz;
    classImp.apply(p, [_super]);
}

und definieren Sie die übergeordnete Klasse Person

/**
 * 父类 Person
 */
$class('Person','',function(){
this.init = function(name){
this.name = name;
};
this.getName = function(){
return this.name;
};
this.setName = function(name){
this.name = name;
}
});

Unterklasse Man

/**
 * 子类 Man
 */
$class('Man', Person, function(supr){
this.init = function(name, age){
supr.init.apply(this,[name]); // 该句很重要
this.age = age;
};
this.getAge = function(){
return this.age;
};
this.setAge = function(age){
this.age = age;
};
});
var m = new Man('Jack',25);
console.log(m.name); // Jack
console.log(m.age); // 25

Anhand der Ausgabe können Sie erkennen, dass die Unterklasse Man tatsächlich die Eigenschaften und Methoden der übergeordneten Klasse erbt.

Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der JavaScript-Vererbungsmethode (4). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn