クラス メソッド
更新 : 2007 年 11 月
クラスのメソッドとは、クラスで宣言されている Sub プロシージャまたは Function プロシージャです。たとえば、Account というクラスの Withdrawal メソッドを作成するには、次の Public 関数をクラス モジュールに追加します。
Public Function WithDrawal(ByVal Amount As Decimal, _
ByVal TransactionCode As Byte) As Double
' Add code here to perform the withdrawal,
' return a transaction code,
' or to raise an overdraft error.
End Function
共有メソッド
共有メソッドは、事前にクラスのインスタンスを作成しなくても、直接にクラスから呼び出すことができます。このため、メソッドをクラスの特定のインスタンスに関連付けたくない場合に便利です。共有メソッドの宣言では、Overridable、NotOverridable、および MustOverride の各修飾子は使用できません。また、モジュールで宣言されたメソッドは暗黙的に共有されるため、Shared 修飾子を明示的に使用することはできません。
例
Class ShareClass
Shared Sub SharedSub()
MsgBox("Shared method.")
End Sub
End Class
Sub Test()
' Call the method.
ShareClass.SharedSub()
End Sub
実装の詳細の保護
クラスが内部で使用するユーティリティ プロシージャは、Private、Protected、または Friend として宣言する必要があります。このようなメソッドへのアクセスを制限することにより、オブジェクトに変更を加えた場合にオブジェクトを使用するコードに影響が及ぶのを防ぐことができるため、オブジェクトを使用する開発者を保護できます。
オブジェクトの実装の詳細を保護する機能は、カプセル化のもう 1 つの側面です。カプセル化を利用すると、メソッドを使用するコードを変更することなく、メソッドのパフォーマンスを強化したり、メソッドの実装方法を完全に変更したりできます。