ホームページ >ウェブフロントエンド >jsチュートリアル >JSにおけるポリモーフィズムの使い方を詳しく解説

JSにおけるポリモーフィズムの使い方を詳しく解説

php中世界最好的语言
php中世界最好的语言オリジナル
2018-04-17 14:41:342814ブラウズ

今回は、JS でのポリモーフィズムの使用について詳しく説明します。JS でポリモーフィズムを使用する際の 注意点 について、実際のケースを見てみましょう。

ポリモーフィズムは、オブジェクト指向プログラミング言語において非常に重要です。 JAVA では、ポリモーフィズムは継承によって実現されます。以下の通り:

rreee

ポリモーフィズムの考え方は、実際には「何をするか」と「誰が行うか」を分離することです。これを達成するには、最終的には、まず型間の結合関係を排除する必要があります。
Java では、上向きキャストによってポリモーフィズムを実現できます。 JavaScript の変数は実行時に変数になります。これは、JavaScript オブジェクト の多態性が生物学的なすべてに関連していることを意味します。

ポリモーフィズムの最も基本的な機能は、手続き型の条件分岐ステートメントをオブジェクト ポリモーフィズムに変換することで削除することです。

地図アプリケーションを作成するとします。アプリケーションに接続するためのオプションの地図 API プロバイダーが 2 つあります。現在、Google Maps を選択しています。show メソッドは、ページ上に地図全体を表示する役割を担う Google Maps API で提供されています。サンプルコードは次のとおりです:

public abstract class Animal {
abstract void makeSound(); // 抽象方法
}
public class Chicken extends Animal{
public void makeSound(){
System.out.println( "咯咯咯" );
}
}
public class Duck extends Animal{
public void makeSound(){
System.out.println( "嘎嘎嘎" );
}
}
Animal duck = new Duck(); // (1)
Animal chicken = new Chicken(); // (2)

renderMap 関数は現在ある程度の柔軟性を維持していますが、この柔軟性は非常に脆弱であるため、一旦 Soso マップに置き換える必要があると、間違いなく renderMap 関数を変更して条件分岐ステートメントを積み続ける必要があることがわかります。そこに。

まず、プログラムの同じ部分、つまり地図を表示する部分を抽象化しましょう:

var googleMap = {
show: function(){
console.log( '开始渲染谷歌地图' );
}
};
var renderMap = function(){
googleMap.show();
};
renderMap(); // 输出:开始渲染谷歌地图
var googleMap = {
show: function(){
console.log( '开始渲染谷歌地图' );
}
};
var baiduMap = {
show: function(){
console.log( '开始渲染百度地图' );
}
};
var renderMap = function( type ){
if ( type === 'google' ){
googleMap.show();
}else if ( type === 'baidu' ){
baiduMap.show();
}
};
renderMap( 'google' ); // 输出:开始渲染谷歌地图
renderMap( 'baidu' ); // 输出:开始渲染百度地图

その後、Tencent Maps のサポートを追加したため、元のコードを変更せずにこの機能をすぐに実装できるようになりました:

var renderMap = function( map ){
if ( map.show instanceof Function ){
map.show();
}
};
renderMap( googleMap ); // 输出:开始渲染谷歌地图
renderMap( baiduMap ); // 输出:开始渲染百度地图

ポリモーフィック テクノロジは非常に重要であり、多くの デザイン パターン はポリモーフィズムを巧みに使用して実装されています。

この記事の事例を読んだ後は、この方法を習得したと思います。さらに興味深い情報については、php 中国語 Web サイトの他の関連記事に注目してください。

推奨書籍:

フロントエンド開発で複数列レイアウトを実装する方法

データ対話に jquery と ajax を使用する

以上がJSにおけるポリモーフィズムの使い方を詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。