A 回答 (4件)
- 最新から表示
- 回答順に表示
No.4
- 回答日時:
ポリモーフィズムについて考えるとき、必然的に「静的結合」と「動的結合」の違いを明確に区別することが求められます。
たとえば、「サッポロ1番」の包装からしょうゆ味、みそ味、塩味それぞれのスープを取り出し、袋の中にいれた後、その日の気分でアトランダムにその中からいずれかのスープを使用するとします。(実際の工場での製造工程でも、麺などを作る途中までは一緒で、一番最後の方の梱包の所でのみ、無作為に抽出したもののうちの一つを・・、といった感じですね。)
そのようなことをJavaでも同様に実現しようとした時に、「ポリモーフィズム」の考え方が必要となってきます。最初の段階(コンパイル時)にはどのスープ(どの型のインスタンス)が使われるのか分からないが、実際に使用される時(実行時)になって初めて確定する、といった感じですね。
よって、厳密には「インターフェイス」を使用しなくても「ポリモーフィズム」を使用することは可能です。
「インターフェイス」というのは、たとえば「即席中華めん」インターフェイスを事前に作成しておけば、後でカレーラーメン味などを新商品として開発する際に、既存の麺や製造工程などはそのまま使用できて、再利用性や保守性に富むといった感じですね。
蛇足ですが、さっき、サンヨー食品の本家サイトに行ってみたら、チゲ風とか、とんこつラーメンもあるみたいですね。今度また買って食べてみよう、っと。
No.3
- 回答日時:
多態性...
Javaを勉強される方で、混乱する要素の一つです。
ここであれこれ言っても理解するのは難しいと思うので、
http://www.nextindex.net/java/
を参考にしてみてはどうでしょうか?
最初は分かんなくても、粘り強く読んで下さい。
No.2
- 回答日時:
ポリモルフィズムは「同じメソッドでも実際のオブジェクトの型によって振る舞いが異なる」という現象をさしており, インターフェースは「
ポリモルフィズムを実現するための機構 (の 1つ)」です. この 2つの「違いが分からない」というのは「動作」と「その動作を実現するための仕組み」が区別できないということなんだけど....No.1
- 回答日時:
恐ろしく適当かつ今ラーメン食べたいのでそいつで説明すると。
「サッポロ1番」クラスがあるとして、こいつを継承した
「サッポロ一番」しょうゆラーメンクラス
「サッポロ一番」みそラーメンクラス
「サッポロ一番」塩ラーメンクラス
というのを作る場合。
調味料と包装を変えるだけでラーメン「サッポロ一番」クラスから3つのラーメンを作れます。
という感じです。
細かいことはきっと説明上手な人が解説してくれるはず!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# C++プログラミングコードにポリモーフィズムを取り入れ方を教えてください。 2 2023/06/09 11:17
- 哲学 哲学の歴史、分野について体系的に知りたいです。良いサイトや良い本を教えて下さい。 2 2023/02/24 00:36
- 英語 英語の言い方 3 2022/06/26 21:14
- メガネ・コンタクト・視力矯正 【コンタクト目薬について】 この写真は今使用中のソフトレンズの目薬です 348円かなからいだったかと 1 2022/06/28 16:01
- 楽天市場 楽天ポイント5重取り 簡単に説明してください なんだか複雑そうですし そこのお店を調べておかなければ 1 2023/02/10 19:37
- その他(暮らし・生活・行事) 手短な調味料等で、本当に効果大のこばえ取り作りの方法の分かる方々お願い致します。最近、気温が上がりこ 1 2023/08/04 17:35
- クレジットカード 楽天カードの活用 台湾でも楽天カードが進出してきていますが、台湾では簡単に作れません。なぜか台湾での 2 2022/04/03 17:22
- 知人・隣人 就活勤務地迷ってます 私は現在オーストラリアの大学に通ってる就活生です 高校もオーストラリアの高校に 7 2022/11/08 02:14
- 高齢者・シニア 聴力を補うツールについて、質問させてください。 一般的に聞こえない(聞こえづらい)場合、耳の後ろに手 4 2022/05/22 15:24
- ストレス 頭の疲れをとる方法 5 2022/03/27 21:43
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
(vba)他のアプリケーションの右...
-
メソッドの引数にクラス名を渡す
-
ゲッターを使わないで変数にア...
-
「ラッパークラス」の存在意義...
-
interface,extend,implementの...
-
JTextFieldの入力制限
-
C++で参照カウンタを実装したい...
-
c++でのヘッダーファイルの循環...
-
vb.net 自作プロパティの削除に...
-
「継承されたメソッドの可視性...
-
「IOException は対応する try ...
-
サーバー上のフォルダ情報の取得
-
ASP.NETでの共通コードの書き方...
-
抽象クラスをJUNITでテストする...
-
Java StringBuilderクラスについて
-
なぜインタフェースを使うのか?
-
TableViewでタップした時にキー...
-
ファイルパスが取得出来ない(P...
-
オブジェクト指向の特徴
-
c# この高速化の方法あり?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
interface,extend,implementの...
-
抽象クラスをJUNITでテストする...
-
「ラッパークラス」の存在意義...
-
(vba)他のアプリケーションの右...
-
ASP.NETでの共通コードの書き方...
-
VB DLLプロジェクトについて
-
C#からDLLを呼びたいのですが・...
-
c++でのヘッダーファイルの循環...
-
委譲って何ですか?
-
「継承されたメソッドの可視性...
-
【C#】クラスのコンストラクタ...
-
Javaでのジェネリクス型パラメ...
-
C# 「データが失なわれる可能性...
-
Excel vbaのプログラムでガンマ...
-
ファイルパスが取得出来ない(P...
-
オーバーライドとラッパーの違い
-
compareToにおける「自然順序付...
-
メソッドの引数にクラス名を渡す
-
vb.net 自作プロパティの削除に...
-
VBがオブジェクト指向言語でな...
おすすめ情報