インターフェイスとポリモーフィズム
インターフェイスはどのように利用できるのでしょうか?インターフェイスは実装したクラスからはスーパークラスのように利用できます。そのため、複数のクラスでインターフェイスを実装することで利用価値が出てきます。つまり、1つのクラスにインターフェイスを実装してもあまり意味がありません。
ミルクコーヒーかミルクティーを注ぐプログラムを作成して、確認してみましょう。
○ プロジェクト
プロジェクトを作成して確認してみましょう。
プロジェクトの種類 |
コンソール アプリケーション |
プロジェクト名 |
ObjectTest |
サンプルダウンロード
○ フォームデザイン
次のようにフォームにコントロールを配置してください。
コントロールの配置例
○ プログラム
次のようにインタフェースを定義してください。(VB2010 Expressの場合は、クラスを追加して、書き換えてください。)
IMilk.vb
- Public Interface IMilk
- Sub milk()
- End Interface
○ プログラム
ミルクコーヒーを表すクラスを作成してください。
MilkCoffee.vb
- Public Class MilkCoffee
- Implements IMilk
- Sub coffee()
- Debug.WriteLine("コーヒー")
- End Sub
- Sub milk() Implements IMilk.milk
- Debug.Write("ミルク")
- Me.coffee()
- End Sub
- End Class
○ プログラム
ミルクティーを表すクラスを作成してください。
MilkTea.vb
- Public Class MilkTea
- Implements IMilk
- Sub tea()
- Debug.WriteLine("ティー")
- End Sub
- Sub milk() Implements IMilk.milk
- Debug.Write("ミルク")
- Me.tea()
- End Sub
- End Class
○ プログラム
Form1.vbに次のプログラムを記述してください。Button1_Clickを共有します。
Form1.vb
- Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click, Button2.Click
- Dim drink As IMilk
- If sender.text = "コーヒー" Then
- drink = New MilkCoffee()
- Else
- drink = New MilkTea()
- End If
- drink.milk()
- End Sub
クリックされたボタンに応じてdrinkオブジェクトのミルクメソッドで表示される飲み物が変わります。
実行イメージ
前へ 次へ