VBScript 【オブジェクト指向編】
目次
クラス
クラスを使用した乗算処理について解説します。
プログラムソース
クラス
Class MyCls
Public X
Public Y
Public Z
Public Sub MyMethod()
Z = X * Y
End Sub
End Class
メイン
<job> <script language="VBScript" src="MyCls.vbs" /> <script language="VBScript"> Dim A Set A = New MyCls A.X = 2 A.Y = 3 A.MyMethod() MsgBox(A.Z) </script> </job>
解説
Public 変数
メンバ変数を宣言します。
Public Sub メソッド名
処理
End Sub
処理
End Sub
メソッドを宣言します。
コンストラクタ
コンストラクタを使用して、オブジェクト指向の特徴であるカプセル化について解説します。
プログラムソース
クラス
Class MyCls
Private X
Private Sub Class_Initialize()
X = "コンストラクタ"
End Sub
Public Sub MyMethod()
MsgBox(X)
End Sub
End Class
メイン
<job> <script language="VBScript" src="MyCls.vbs" /> <script language="VBScript"> Dim A Set A = New MyCls A.MyMethod() </script> </job>
解説
Private 変数
メンバ変数を宣言します。
Private Sub Class Initialize()
処理
End Sub
処理
End Sub
コンストラクタを宣言します。
プロパティ
プロパティを使用して、オブジェクト指向の特徴であるカプセル化について解説します。
プログラムソース
クラス
Class MyCls
Private X
Public Property Get MyProperty
MyProperty = X
End Property
Public Property Let MyProperty(ByVal Y)
X = Y
End Property
End Class
メイン
<job> <script language="VBScript" src="MyCls.vbs" /> <script language="VBScript"> Dim A Set A = New MyCls A.MyProperty = "プロパティ" MsgBox(A.Myproperty) </script> </job>
解説
Publec Property Get プロパティ名
プロパティ名 = 戻り値
End Property
プロパティ名 = 戻り値
End Property
内部変数を返却します。
Public Property Let プロパティ名(ByVal 引数)
内部変数 = 引数
End Property
内部変数 = 引数
End Property
内部変数に値を設定します。
(擬似)継承
オブジェクト指向の特徴である継承について解説します。VBScriptには継承機能がないため、擬似的に継承を実現します。
プログラムソース
親クラス
Class ParentCls
Public Sub ParentMethod()
MsgBox("親クラス")
End Sub
End Class
子クラス
Class ChildCls
Private objCls
Private Sub Class_Initialize()
Set objCls = New ParentCls
End Sub
Public Sub ParentMethod()
objCls.ParentMethod()
End Sub
Public Sub ChildMethod()
MsgBox("子クラス")
End Sub
Private Sub Class_Terminate
Set objCls = Nothing
End Sub
End Class
メイン
<job> <script language="VBScript" src="ParentCls.vbs" /> <script language="VBScript" src="ChildCls.vbs" /> <script language="VBScript"> Dim A Set A = New ChildCls A.ParentMethod() A.ChildMethod() </script> </job>