2016-09-09 6 views
0

私はC++のバックグラウンドにあり、今はJavaScriptを学んでいます。私はjavScriptの観点から多形性を理解するのに問題があります。多態性は何かを理解しています。どのように実装されているのですか?また、JavaScriptでどのように実装されていますか?C++とjavaScriptの多態性の実装の違い

多態性:実行時にさまざまな型のオブジェクトが応答します。 C++での

実装:我々は、ベースポインタを作成し、それに派生クラスのオブジェクトを代入して、私たちはそのポインタを使用して関数呼び出しを行う:JavaScriptで

実装:我々は我々メイン関数オブジェクトに関数を作成メイン関数オブジェクトから継承した関数オブジェクトに同じ名前の別の関数を作成し、配列に追加してその配列を実行します。

私は親オブジェクトに基づいて呼び出していない疑いがあります。私は、C++のベースポインタを持っていて、それを使って特定の関数呼び出しをしているようです。私は自分自身をはっきりさせることができるかどうかは分かりませんが、助けてくれれば本当に感謝します

+0

これが役立つでしょうか:http://stackoverflow.com/a/27642444/3723423? – Christophe

答えて

0

C++は「クラスベース」OOPですが、JSは「プロトタイプベース」OOPです。 また、JSは関数型プログラミング言語 です(@Cheersとhthのコメントを参照)。

その理由は異なっています。プロトタイプベースのOOPの知識があれば分かります

Secrets of the JavaScript Ninja」という本がありますが、そのことからJSをたくさん学びます。

+1

"JSは関数型プログラミング言語です"、そうではありません。 –

+0

私の言葉を訂正するのを助けてください。 Thx – Khoa

+0

あなたが何を表現しようとしているのか分かりません。関数型言語は、不変状態の概念に基づいています。 JavaScript(およびC++)は、変化する状態、つまり代入に基づいています。 JavaScriptとC++の両方で関数型プログラミングや少なくとも機能型プログラミングを行うことはできますが、JavaScriptはそれをよりよくサポートします。私は、WikipediaのJavaScript(https://en.wikipedia.org/wiki/Functional_programming#Functional_programming_in_nonfunctional_languages)で、機能プログラミングのいくつかの論考を見つける。 –

関連する問題