オブジェクト指向プログラミングの目標の1つは、エンド・ユーザーから実装の詳細を隠すようにブラック・ボックスを提供することです。この複雑さを隠すのを支援するために、BSLではオブジェクトのメソッドおよびプロパティを非表示にできます。
エンド・ユーザーに非表示にするメソッドおよびプロパティを作成するには、プロパティまたはメソッド定義の前にPrivateキーワードを付けます。
エンド・ユーザーがアクセス可能なメソッドおよびプロパティを作成するには、プロパティまたはメソッド定義の前にPublicまたはDimキーワードを付けます。メソッドまたはプロパティをpublic、dimまたはprivateのいずれにするかを明示的に指定しない場合は、publicになります。
ただし、プロパティまたはメソッドがPublicかPrivateかは常に明示的に指定することをお薦めします。
クラスのインスタンスからprivateのメソッドまたはプロパティにアクセスしようとすると、エラーが発生します。
例:
Class Comp
Private modStrType
Private Property Let ComputerType(strType)
modStrType = strType
End Property
Public Property Get ComputerType
ComputerType = modStrType
End Property
Private Function Funct1
'Add business logic using class variables
End Function
Public Sub Sub1
'Add business logic using class variables
End Sub
End Class
Set objComp = new Comp
objComp.ComputerType = "Mac" 'Invalid, accessing this property will throw error as it’s private
str1 = objComp.ComputerType
objComp.Funct1 'Invalid, accessing this function will throw error as it’s private
objComp.Sub1