Heim  >  Artikel  >  Web-Frontend  >  Unterstützt Javascript Polymorphismus?

Unterstützt Javascript Polymorphismus?

WBOY
WBOYOriginal
2022-07-28 17:11:402034Durchsuche

JavaScript unterstützt Polymorphismus; Polymorphismus bezieht sich auf die Bereitstellung einer einheitlichen Schnittstelle für Entitäten unterschiedlicher Datentypen. Polymorphismus bedeutet, dass dieselbe Operation für verschiedene Objekte unterschiedliche Interpretationen und unterschiedliche Ausführungen hervorrufen kann Ergebnisse.

Unterstützt Javascript Polymorphismus?

Die Betriebsumgebung dieses Tutorials: Windows 10-System, JavaScript-Version 1.8.5, Dell G3-Computer.

Javascript unterstützt Polymorphismus

In Programmiersprachen und Typentheorie bezieht sich Polymorphismus (englisch: Polymorphism) auf die Bereitstellung einer einheitlichen Schnittstelle für Entitäten unterschiedlicher Datentypen. Polymorphe Typen (englisch: polymorphictypes) können die von ihnen unterstützten Operationen auf Werte anderer Typen anwenden.

Bedeutung

Derselbe Vorgang wirkt sich auf verschiedene Objekte aus, was zu unterschiedlichen Interpretationen und unterschiedlichen Ausführungsergebnissen führen kann

Zum Beispiel habe ich eine Katze und einen Hund und gebe ihnen den gleichen Befehl „Verbeuge“, Die Katze miaut und der Hund bellt. Sie bellen zu lassen ist also derselbe Vorgang, und unterschiedliches Bellen führt zu unterschiedlichen Ausführungsergebnissen.

Zum Beispiel

Wenn der Regisseur sagt, er solle mit der Handlung beginnen, wird jeder Schauspieler tun, was er tun soll,

anstatt dass der Regisseur jedem Schauspieler nacheinander sagt, was er tun soll

Das Grundlegendste an Polymorphismus ist Der Vorteil besteht darin, dass Sie das Objekt nicht mehr fragen müssen „Welcher Typ sind Sie?“ und dann basierend auf der Antwort, die Sie erhalten, ein bestimmtes Verhalten des Objekts aufrufen müssen, und alle anderen polymorphen Mechanismen werden arrangiert für Sie.

// 多态背后的思想是将 做什么 和 谁去做 分离
// 也就是将不变的事物 与 可能改变的事物 分离出来
// 先来一段反例的多态代码
var makeSound = function (animal) {
if (animal instanceof Duck) {
console.log('嘎嘎嘎');
} else if (animal instanceof Chicken) {
console.log('咯咯咯');
}
}
var Duck = function () { };
var Chicken = function () { };
makeSound(new Duck());
makeSound(new Chicken());
// 此时如果加一个狗,还需要再去改源代码

Beispiel

// 首先把不变的部分隔离出来
var makeSound = function (animal) {
animal.sound();
}
//然后把可变的部分各自封装起来,
var Duck = function () { }
Duck.prototype.sound = function () {
console.log("嘎嘎嘎");
}
var Chicken = function () { }
Chicken.prototype.sound = function () {
console.log("咯咯咯");
}
makeSound(new Duck());
makeSound(new Chicken());
//如果有一天改需求了,加一个动物
//简单追加一条代码就可以啦
var Dog = function () { }
Dog.prototype.sound = function () {
console.log("汪汪汪");
}
makeSound(new Dog());

Eigentlicher Fall

// 实际案例
var googleMap = {
show: function () {
console.log('开始渲染谷歌地图');
}
}
var baiduMap = {
show: function () {
console.log('开始渲染百度地图');
}
}
var renderMap = function (map) {
if (map.show instanceof Function) {
map.show();
}
}
renderMap(googleMap)
[Verwandte Empfehlungen: Javascript-Video-Tutorial

,

Web-Frontend

]

Das obige ist der detaillierte Inhalt vonUnterstützt Javascript Polymorphismus?. 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