Atsushi

フォーラムへの返信

2件の投稿を表示中 - 1 - 2件目 (全2件中)
  • 投稿者
    投稿
  • 返信先: FileUpload#144
    Atsushi
    キーマスター
    Atsushi
    キーマスター

    インターフェースも継承も、どちらでもポリモーフィズムは実現可能。
    ただ、じゃあインターフェースの存在価値はなに?って部分を考えてみる。

    • 特定の機能が用意されている事を保証するためにインターフェイスが使われる
    • 設計精度、開発効率、保守効率などをアップするために必要なもの
    • 必要な機能だけを定義する際に有効

    クラスを継承した場合は、その継承元のクラスにどのメソッドがあるか等を把握しておかない限り、
    オーバーライドや呼び出しが困難になる。
    また、継承の場合ではそのクラスが必要としているメソッドを実装しているかを保証できない。
    ここでインターフェースを用いることで、implementsしたクラスは必ずそのメソッドをオーバーライド
    しなければならなくなるので、実装されていることが保証される。

    継承の場合は親クラスに必要の無いメソッドが定義されている場合はそのメソッドも引き継いでしまう。
    なので、インターフェースを実装することで必要なメソッドだけをオーバーライドし、実装することができる。
    ある意味必要の無い、呼び出されては困るメソッド、そのクラスには持たせておく必要の無いメソッドを
    呼び出されないことも保証しているということになるのかもしれない。

    参考になったサイト:
    http://www.gixo.jp/blog/5159
    http://oshiete.goo.ne.jp/qa/3166505.html
    http://oshiete.goo.ne.jp/qa/2031725.html
    http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q11102595936

    • この返信は7年、 9ヶ月前にAtsushiが編集しました。
2件の投稿を表示中 - 1 - 2件目 (全2件中)
スポンサーリンク
DayByDay
タイトルとURLをコピーしました