ただいま修行中...

ソフトウェア開発において、勉強中で悪戦苦闘の日々

interfaceのメリット

2009-08-18 23:26:12 | プログラミング
interfaceのメリットについて、最近聞かれてうまく答えることができなかったので、ネットで調べたり、ちょっと回りの人に相談したりして私なりの見解です。

例えが上手な人がいたので、以下はそのたとえ話を引用します。

例えば、鳥類とクラスを作成し、継承してニワトリやワシと言ったものを作成するとします。この中で、飛ぶという行為があった場合に、鳥類だけでなく、極端にいうと飛行機だって飛ぶという行為はあります。

つまりこの場合には、クラスを作成してしまうと、鳥類から継承して飛行機ができるのは明らかに間違った継承になります。

この場合には、intefaceで飛ぶというメソッドを宣言すればいいのです。

それ以外にも、利用する側の視点として、interfaceを確認すればどのようなことができるかを簡単に確認することができます。可読性の向上につながります。

ただし、何でもかんでもinterfaceにしてしまうと、肥大化したinterfaceができてしまうので注意が必要です。

つまりinterfaceとは、機能を持っているというもので、クラスは役割?といっていいのかわかりませんが、そういった違いがあります。


最新の画像もっと見る

コメントを投稿