[解決済み] ポリモーフィズム - たった2つの文で定義する【非公開
質問
私は他の定義や説明を見ましたが、どれも私を満足させるものではありませんでした。私は、誰かが、コードや例を使わずに、せいぜい2文程度でポリモーフィズムを定義できるかどうかを見てみたいのです。私は、「人/車/缶の開閉装置があるわけですが...」とか、その語源を聞きたくはありません(あなたがポリとモーフの意味を知っていても誰も感心しません)。もし、あなたが多形性とは何かを非常によく理解し、英語に長けているのであれば、この質問に対して、濃密ではあるけれども短い定義で答えることができるはずです。もし、あなたの定義がポリモーフィズムを正確に定義しているが、非常に密で何度も読み返す必要があるなら、それはまさに私が求めているものです。
なぜ2文だけなのでしょうか?なぜなら、定義は短くて知的なものだからです。説明は長く、例とコードを含んでいます。説明のためにここを見てください(これらのページの答えは私の質問に対して満足のいくものではありません)。
ポリモーフィズムとオーバーライドとオーバーロードの比較
ポリモーフィズムをできるだけ簡単に記述してみましょう。
なぜ私はこの質問をするのでしょうか?なぜなら、私も同じ質問をされ、(かなり高い私の基準では)満足のいく定義を思いつくことができないことがわかったからです。このサイトの素晴らしい頭脳の持ち主の誰かがそれをできるのかどうか見てみたいのです。
もしあなたが本当に2文の要件を作ることができないなら(定義するのが難しいテーマである)、オーバーしても構いません。アイデアは、実際にポリモーフィズムが何であるかを定義する定義を持つことであり、それが何をするか、またはそれを使用する方法(違いを理解しますか)を説明するものではありません。
どのように解決するのか?
ポリモーフィズムは、ある種の契約を表現し、潜在的に多くの型がその契約を(クラス継承を行うかどうかに関わらず)それぞれの目的に応じて異なる方法で実装することを可能にします。コード を使用して は、どの実装が関与しているかを気にする必要はなく、契約が遵守されることだけを気にすればよいのです。
(*) とにかく理想的なケースでは、明らかに、呼び出し側のコードが非常に意図的に適切な実装を選択していることがよくあります!
関連
-
[解決済み] Inversion of Controlとは?
-
[解決済み] インターフェースとベースクラス
-
[解決済み] JavaScriptでクラスを定義するために使用できるテクニックと、そのトレードオフとは?
-
[解決済み] ポリモーフィズムとは何か、何のためにあり、どのように使われるのか?
-
[解決済み] ポリモーフィズム vs オーバーライド vs オーバーローディング
-
[解決済み] 継承とポリモーフィズムの主な違いは何ですか?
-
[解決済み] プライベートとプロテクト-ビジビリティ・グッド・プラクティスの懸念点【終了しました
-
[解決済み] nullを返すのは設計ミス?[クローズド]
-
[解決済み] 多重継承の具体的な問題点は何ですか?
-
[解決済み] Mediator Vs Observer オブジェクト指向デザインパターン
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Inversion of Controlとは?
-
[解決済み] 抽象クラスの代わりにインターフェイスを使用する場合とその逆は?
-
[解決済み] ポリモーフィズム vs オーバーライド vs オーバーローディング
-
[解決済み] 実装ではなくインターフェースにプログラムする」とはどういう意味ですか?
-
[解決済み] Delegateとは?[クローズド]。
-
[解決済み] 継承と集計の比較【終了しました
-
[解決済み] C++のポリモーフィズム
-
[解決済み] カプセル化と抽象化の違い
-
[解決済み] protected なメンバ変数を使うべきですか?
-
[解決済み] オブジェクト指向プログラミングに代わるものは?