先頭へ戻る

実装 | Programming Place Plus 用語集

Programming Place Plus トップページ -- 用語集

先頭へ戻る

名称

このページでは、オブジェクト指向における「インターフェースの実装」について取り上げています。

解説

オブジェクト指向のインターフェースにおいて、新しいクラスを作り、インターフェースの抽象メソッド定義を与える(実装する)ことです。

インターフェースは実装をもたない抽象メソッドを含んでいるため、そのままインスタンス化することはできません。インスタンス化するには、インターフェースを元にして、新たなクラスを定義し、すべての抽象メソッドに定義を与える必要があります。

新たなクラスを定義するコードの記述は、既存のクラスのサブクラスを定義するときとよく似ていることが多いですが、既存のクラスを引き継いだサブクラスを作り出すことを継承と呼ぶのに対して、インターフェースでは(インターフェースの)実装と呼ばれます。つまり、クラスには実装があって、それらを引き継ぐので "継承" であり、インターフェースは実装がなくて(抽象メソッドによって規約のみを定めている)、それらを記述するクラスを定義するため "実装" と呼び分けます。

C# のように継承と実装の構文に違いがない場合もありますし、Java のように継承には extendsキーワード、実装には implementsキーワードといった使い分けをする場合もあります。

C++ の場合

C++ は、言語の仕様としてはインターフェースの機能を持っておらず、代わりにクラスと純粋仮想関数を用いて実現します。そのため事実上はクラスなので、インターフェースの実装にあたるものは、継承とまったく同じです。

C++ のインターフェースについては、C++編【言語解説】第29章で解説しています。


参考リンク

更新履歴


用語集のトップページへ

Programming Place Plus のトップページへ



はてなブックマーク に保存 Pocket に保存 Facebook でシェア
Twitter でツイート Twitter をフォロー LINE で送る
rss1.0 取得ボタン RSS 管理者情報 プライバシーポリシー