VBオブジェクト指向プログラミング講座 第5回 インスタンスを見る
オブジェクト指向プログラミングをするには、インスタンスの概念を学ぶ必要があります。サンプルを動かして、インスタンスを体感しましょう。
Imports System
Imports System.Windows
Imports System.Windows.Controls
Public Class HelloWindow
Inherits Window
'インスタンスを識別するために定義
Private Shared ID As Integer
Private message As String = "Hello World"
Public Sub New()
'HelloWindow
Me.Title = Me.message & HelloWindow.ID.ToString()
Me.Height = 300
Me.Width = 300
Me.WindowStartupLocation = WindowStartupLocation.CenterScreen
'IDを更新
HelloWindow.ID += 1
'ボタン
Dim btn As New Button()
btn.Content = Me.message
Me.Content = btn
AddHandler btn.Click, Sub() Call New HelloWindow().Show()
End Sub
End Class
このサンプルプログラムを実行してみると、インスタンスがなんとなく見えてきます。インスタンスが変数の値の様に見えてきた人は正解です。インスタンスは大体そんなものです。HelloWindowの各インスタンスは、各々が違うプロパティの値を持っています。Integer型の変数で例えると、1,2,3,4...はそれぞれ別のインスタンスです。厳密に言えば、Integer型の様な基本型はそれと違うのですが、イメージ的には同じです。もっと見える形のサンプルを提示します。
Imports System
Imports System.Windows
Imports System.Windows.Controls
Public Class HelloWindow
Inherits Window
'インスタンスを識別するために定義
Private Shared ID As Integer
Private random As Random = New Random(ID)
Private message As String = "Hello World"
Public Sub New()
'HelloWindow
Me.Title = Me.message & HelloWindow.ID.ToString()
Me.Height = random.Next(100, 1000)
Me.Width = random.Next(100, 1000)
'IDを更新
HelloWindow.ID += 1
'ボタン
Dim btn As New Button()
btn.Content = Me.message
Me.Content = btn
AddHandler btn.Click, Sub() Call New HelloWindow().Show()
End Sub
End Class
このサンプルを実行して触ると、インスタンスを視覚で理解できます。インスタンスは地味で、説明の必要すらないと思う人がいるかもしれません。しかし、この様な単純な概念をおろそかにしては、オブジェクト指向プログラミングを真に理解できません。実際に手を動かし、目で見て、始めて理解したと言えます。続く...