1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

インターフェースとは

Last updated at Posted at 2023-04-17

クラスが実装するべきメソッドの一連の仕様を定義するためのコンパイル時の契約

抽象メソッドや定数を含んでおり、クラスがこれを実装することによりそのメソッドのふるまいを定義

クラスが複数のインターフェースを実装することができる
→複数のインターフェースのメソッドを実装する必要あり

クラスが特定のふるまいを持つために使用される

クラス間の疎結合性高め、柔軟性のある設計が可能


追記)コメント文を引用

これは、実装する人への内容ですね。
インタフェースは、使う人のことを考えて、誰が何のためにどのように使うのかを明確化する役割もあります。
API (Application Program Interface) と呼ばれる仕様書がまさにそれですよね。
クラスには様々なパラメタやメソッドがありますが、用途に応じて使う機能を限定・明確化して提供するのがインタフェースともいえます。
生活の中にある身近なインタフェースでは、例えばテレビやBD/HDDレコーダを眺めてみると、前面やリモコンに操作インタフェースがあり、背面に接続インタフェースがあります。
装置内部は複雑な部品やプログラムで構成されていますが、使う人から直接触れられないように筐体(カプセル)に閉じ込められています。
テレビやBD/HDDレコーダを買ってきたら、業者や機械に強い友人に接続インタフェースにいろいろ接続してもらって、自分はリモコンを使って操作インタフェースを使うだけ。
誰が何のためにどのように使うのかに応じて、複数のインタフェースが実装されていますよね。
別の装置でもインタフェースが同じなら違和感なく使いこなすことができます。

1
0
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?