Javaオブジェクト指向プログラミング講座

インタフェースとは

全333コースを10日間無料で

ぜひご覧ください。

無料で視聴する すべての加入プランを見る
または
インタフェースの概念と使用法を解説します。
講師:
07:11

字幕

このレッスンではインターフェースの概念を解説します。例えば、パソコンがあったとします。ここにマウスを USB でつなぐわけです。プリンターも USB でつなぐわけです。これを「USB インターフェース」と言います。このインターフェースの規格さえ守っていればマウスは何でも良いしプリンターも何でも良いわけです。このつなぐ所の仕様が大事なわけです。例えば、外部ディスプレイを「VGA インターフェース」と言います。この規格さえ守っていればディスプレイは何でも良いわけです。「オブジェクト指向」というのはインターフェースと実装を分離する技術と言われています。外部にはインターフェースを公開し実装は見せない。インターフェースは実装呼び出しの仕様です。例えば、もうちょっと説明しますとオブジェクトは実装を持っているわけです。ところが、これの中は見えないわけです。外部にはインターフェースを公開しています。公開されているインターフェースを外部から呼び出します。それを「メッセージ」と呼びます。実装はブラックボックスです。これを知らなくてもここの仕様さえ分かっていれば良いわけです。実装呼び出しの仕様を外部に公開します。 インターフェースと実現クラスUML では2つの表記法があります。1つは、これが実現クラス、これがインターフェース丸で書きます。I_HelloWorld がインターフェース名です。こっちが実装クラス名のHelloWorld です。もう1つの表記法はこのインターフェースをクラスみたいに四角で描いて<<interfaceこれをステレオタイプと言いますけど<<interface と書いてインターフェース名の I_HelloWorldここに操作名を書きます。この丸で書いたのとこの四角で書いたのがインターフェースです。こういう2つの表記法があります。この白の三角の点点々は初めて出て来ましたけれどもこれを「実現関係」と呼びます。この HelloWorld を「実現クラス」と言います。つまり、この print を実現しているわけです。インターフェースの print はアブストラクト、要するに名前があるのみで実装は持ちません。Java でインターフェースを記述する。この HelloWorld と I_HelloWorld は実現関係です。これを Java で記述します。この interface というキーワードがあります。 この I_HelloWorld がインターフェース名です。インターフェース名にはI_ を付けています。ここに操作名を書くわけですけどもこれがアブストラクトなんです。インターフェースの操作は常にアブストラクトです。だから、いきなり ; (セミコロン)です。それで public abstract は省略しても自動的に public abstract と解釈されます。実現クラスの方ですけどもimplements I_HelloWorld です。継承の時にはextends と書きましたけれどもインターフェースを実現する場合はimplements I_HelloWorld と書きます。このインターフェース名を書きます。そして、普通のクラスです。ここで、アブストラクトの print です。アブストラクトメソッドの print をここで実装します。メインからこれを呼び出す場合どうやって呼び出すかというとI_HelloWorld ihw = new Hello World() です。この I_HelloWorld という型で変数を宣言します。new の方は、この実現クラス名のHelloWorld と書きます。 左がインターフェース右がクラスです。そして、メソッドを呼び出す時はihw.print() です。ihw というのはこの I_HelloWorld です。こういう風に呼び出します。Java のプログラムを作ります。「プロジェクト名」を iHelloWorld として今度は Chapter 10 の ch10 とします。Main です。インターフェースを作ります。interface と書いてインターフェース名です。自由ですけど、ここでは頭に I_ を付けています。ここにメソッドを書きます。例えば void print() とします。アブストラクトなのでこれで ; で終了です。本当は public abstract なんですけどもそれは省略できます。インターフェースのメソッドは常に public abstract と解釈されます。これはいくつでも書くことができます。次に、実現クラスはクラス名に implements というキーワードを付けてインターフェース名を書きます。ここに、この print をオーバーライドします。print を println("hello world!") とします。これで準備は OK です。 次はメインから呼び出します。I_HelloWorld で次に変数名です。変数名は自由です。右辺の方は new でここはクラス名です。実現クラス名を書きます。左辺はインターフェース名右辺は実現クラス名です。これで ihw が出来ます。それで、これを普通のオブジェクトになるように使用することができます。ihw.print です。ihw というのはこの interface のこの print を呼んでいるわけです。これはアブストラクトなので実際はこちらが呼ばれます。実行してみましょう。hello world! です。これで終了です。このレッスンでは、インターフェースの概念と使用法を解説しました。

Javaオブジェクト指向プログラミング講座

このコースではオブジェクト指向プログラミングの3大特徴である「カプセル化」「継承」「多態性」を、UMLモデルとJavaプログラムを対比しながら解説します。「カプセル化」ではコンストラクタや可視性、「継承」ではUML汎化関係とJavaの関係、「多態性」では継承およびインタフェースによるプログラミング方法などを説明します。

3時間23分 (36 ビデオ)
現在、カスタマーレビューはありません…
 
ソフトウェア・トピック
価格: 2,990
発売日:2016年09月27日

このコースは、「オンデマンド」でご利用可能であり、ダウンロードすることもオンラインで見ることもできます。

ダウンロードすると、オフラインでコースを使用し、豊富なインターフェースをフルに活用できます。複数のデバイスを使用したり、 一度に全コースをダウンロードしたくない場合は、アカントにログインして、ストリーミング・ビデオとしてコースのレッスンを視聴してください。

ビデオトレーニングをお楽しみいただけますように! お問い合わせは、cs-jp@lynda.com宛までご連絡ください。