Heim Web-Frontend js-Tutorial Was ist kombinierte Vererbung in JS? Einführung in die Vererbung von JS-Kombinationen

Was ist kombinierte Vererbung in JS? Einführung in die Vererbung von JS-Kombinationen

Oct 23, 2018 pm 03:46 PM
javascript

In diesem Artikel erfahren Sie, was die kombinierte Vererbung von JS ist. Die Einführung der js-Kombinationsvererbung hat einen gewissen Referenzwert. Freunde in Not können sich darauf beziehen.

Kombinationsvererbung

Kombinationsvererbung, manchmal auch pseudoklassische Vererbung genannt, bezieht sich auf: die Kombination der Prototypkette und eines Vererbungsmusters, das die Techniken von übernimmt Konstruktoren und kombiniert sie, um das Beste aus beiden Welten zu nutzen.

Implementierungsidee: Verwenden Sie die Prototypkette, um die Vererbung von Prototypmethoden und -methoden zu realisieren, und leihen Sie den Konstruktor aus, um die Vererbung von Instanzattributen zu realisieren.

Auf diese Weise wird die Wiederverwendung von Funktionen durch die Definition von Methoden am Prototyp erreicht und außerdem sichergestellt, dass jedes Instanzobjekt über eigene Attribute verfügt.

function SuperType(name){
    this.name = name;
    this.colors = ["red","green","blue"];
}

SuperType.prototype.sayName = function(){
    console.log(this.name);
}

function SubType(name, age) {
    
    //继承属性
    SuperType.call(this, name);

    this.age = age;
}

//继承方法
SubType.prototype = new SuperType();
SubType.prototype.constructor = SubType();
SubType.prototype.sayAge = function(){
    console.log(this.age);
}

var instance1 = new SubType("Shaw", 18);
instance1.colors.push("black");
console.log(instance1.colors); //["red","green","blue","black"]
instance1.sayName(); // "Shaw"
instance1.sayAge(); // 18

var instance2 = new SubType("Roc", 19);
console.log(instance2.colors); // ["red", "green", "blue"]
instance2.sayName(); // "Roc"
instance2.sayAge(); // 19
Nach dem Login kopieren

Im obigen Code definiert der SuperType-Konstruktor zwei Attribute: Name und Farben.

definiert eine sayName()-Methode für den Prototyp von SuperType.

Der SubType-Konstruktor übergibt beim Aufruf des SuperType-Konstruktors den Namensparameter und definiert dann sein eigenes Attributalter.

Weisen Sie dann das SuperType-Instanzobjekt dem SubType-Prototyp zu und definieren Sie dann die Methode sayAge() und

für den neuen Prototyp. Auf diese Weise werden nicht nur zwei verschiedene SubType-Instanzobjekte erstellt ihre eigenen Eigenschaften – einschließlich der Eigenschaft „Farben“, können aber auch dieselbe Methode verwenden.

Komposition vermeidet die Nachteile der Prototypenverkettung und geliehener Konstruktoren und kombiniert deren Vorteile. Wird zum am häufigsten verwendeten Vererbungsmuster in JavaScript. Darüber hinaus können die Methoden „instanceof“ und „isPrototypeOf()“ des Operators auch zur Identifizierung von Objekten verwendet werden, die auf der Grundlage kompositorischer Vererbung erstellt wurden.

Das obige ist der detaillierte Inhalt vonWas ist kombinierte Vererbung in JS? Einführung in die Vererbung von JS-Kombinationen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
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

Heiße Artikel -Tags

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

So implementieren Sie ein Online-Spracherkennungssystem mit WebSocket und JavaScript So implementieren Sie ein Online-Spracherkennungssystem mit WebSocket und JavaScript Dec 17, 2023 pm 02:54 PM

So implementieren Sie ein Online-Spracherkennungssystem mit WebSocket und JavaScript

WebSocket und JavaScript: Schlüsseltechnologien zur Implementierung von Echtzeitüberwachungssystemen WebSocket und JavaScript: Schlüsseltechnologien zur Implementierung von Echtzeitüberwachungssystemen Dec 17, 2023 pm 05:30 PM

WebSocket und JavaScript: Schlüsseltechnologien zur Implementierung von Echtzeitüberwachungssystemen

So implementieren Sie ein Online-Reservierungssystem mit WebSocket und JavaScript So implementieren Sie ein Online-Reservierungssystem mit WebSocket und JavaScript Dec 17, 2023 am 09:39 AM

So implementieren Sie ein Online-Reservierungssystem mit WebSocket und JavaScript

Verwendung von JavaScript und WebSocket zur Implementierung eines Echtzeit-Online-Bestellsystems Verwendung von JavaScript und WebSocket zur Implementierung eines Echtzeit-Online-Bestellsystems Dec 17, 2023 pm 12:09 PM

Verwendung von JavaScript und WebSocket zur Implementierung eines Echtzeit-Online-Bestellsystems

JavaScript und WebSocket: Aufbau eines effizienten Echtzeit-Wettervorhersagesystems JavaScript und WebSocket: Aufbau eines effizienten Echtzeit-Wettervorhersagesystems Dec 17, 2023 pm 05:13 PM

JavaScript und WebSocket: Aufbau eines effizienten Echtzeit-Wettervorhersagesystems

Einfaches JavaScript-Tutorial: So erhalten Sie den HTTP-Statuscode Einfaches JavaScript-Tutorial: So erhalten Sie den HTTP-Statuscode Jan 05, 2024 pm 06:08 PM

Einfaches JavaScript-Tutorial: So erhalten Sie den HTTP-Statuscode

So erhalten Sie auf einfache Weise HTTP-Statuscode in JavaScript So erhalten Sie auf einfache Weise HTTP-Statuscode in JavaScript Jan 05, 2024 pm 01:37 PM

So erhalten Sie auf einfache Weise HTTP-Statuscode in JavaScript

So verwenden Sie insertBefore in Javascript So verwenden Sie insertBefore in Javascript Nov 24, 2023 am 11:56 AM

So verwenden Sie insertBefore in Javascript

See all articles