VBScriptではクラスを作ることができます。
publicとかprivateなどの可視性も定義できました。
VBScriptを侮っていたのですが、意外と色々と揃ってて、Windowsで何かしたいときは便利なのかもしれません。
データ型という概念はありません。
VBScriptのクラスは以下のような構文で作ります。
コード
Class クラス名
'中に色々書く
End Class
使う側は、
Set 変数名 = New クラス名
という使い方をします。
クラスのインスタンスを解放するには、
Set 変数名 = Nothing
と書きます。
C#にもあったデストラクタという機能は使えます。
デストラクタとは、クラスのインスタンス解放時に自動的に実行される特別なプロシージャのことです。
デストラクタは
コード
Private Sub Class_Terminate()
End Sub
という構文で定義します。
コンストラクタは
コード
Private Sub Class_Initialize()
End Sub
という構文で定義します。
サンプルを作ってみます。
コード
Option Explicit
Dim clazzA
Dim clazzB
Set clazzA = New SampleClass
Set clazzB = New SampleClass
clazzA.setValue1 = 100
clazzA.setValue2 = 300
clazzA.add
clazzB.setValue1 = 7000
clazzB.setValue2 = 8000
WScript.Echo "インスタンス1の結果↓"
clazzA.showResult
WScript.Echo "インスタンス2の結果" & clazzA.add
Class SampleClass
Dim val1
Dim val2
Dim sum
'コンストラクタ
Private Sub Class_Initialize()
val1 = 0
val2 = 0
End Sub
Private Sub Class_Terminate()
WScript.Echo "デストラクタ"
End Sub
Public Property Let setValue1(value)
val1 = value
End Property
Public Property Let setValue2(value)
val2 = value
End Property
'メソッドの戻り値は、メソッド名と同じ変数に入れればいい
Public Function add()
sum = val1 + val2
add = sum
End Function
Public Function showResult()
WScript.Echo "結果は:" & sum
End Function
End Class
これを実行すると、以下のように表示されます。
Microsoft (R) Windows Script Host Version 5.8 Copyright (C) Microsoft Corporation 1996-2001. All rights reserved. インスタンス1の結果↓ 結果は:400 インスタンス2の結果400 デストラクタ デストラクタ ***** script completed - exit code: 0 *****
お金があるかないかで人生の楽しさは全く変わってきます。
お金があっても幸せになれるとは限りませんが、お金がない人生は不幸です。
お金がなかった私が、転職して年収1000万を超えるまでにお世話になったブログを紹介します。
エンジニア転職のリアル
今の時代は、お金を稼げるかどうかは能力の有無よりも触れた情報の質によるものが大きいです。
ぜひ皆さんも良質な情報に触れて、お金持ちになって人生を充実させてください。