###質問
Javaのインターフェースについて勉強中です。
以下コードの利点について知りたいです。
java
1インターフェース 参照変数 = new インターフェースを実装したクラス()
###私の理解と具体的な疑問点
クラスについて
クラスをインスタンス化する際,参照変数をスーパークラスの型にすることは、ポリモーフィズムによって記述する量を減らせるという利点があると理解しています。
インターフェースについて
インターフェースはメソッドの処理部分を記述できないため、量を減らすメリットはないように思えます。
一つ見つけた利点としては、以下のようにDrawableインターフェースを実装したRectangle, Circle, Triangleクラスを配列として扱うとfor文で扱えるようになるという点です。
java
1Drawable[] shapes = { new Rectangle(), new Circle(), new Triangle() }; 2 3 shapes[0].draw(); // 長方形を描く 4 shapes[1].draw(); // 丸を描く 5 shapes[2].draw(); // 三角形を描く
インターフェース型の配列としてインスタンス化するとき以外に、参照変数をインターフェース型にすることはありますか?
また、その利点は何でしょうか?
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/05/19 08:28
2016/05/19 08:32