Uno degli obiettivi della programmazione orientata agli oggetti è fornire una specie di "scatola nera" in cui rendere invisibili i dettagli di implementazione all'utente finale. A supporto di questo incapsulamento della complessità del codice, in BSL è possibile nascondere i metodi e le proprietà di un oggetto.
Per creare metodi e proprietà non visibili all'utente finale, anteporre alla definizione delle proprietà o dei metodi la parola chiave Private.
Per creare metodi e proprietà accessibili all'utente finale, anteporre alla definizione delle proprietà o dei metodi la parola chiave Public o Dim. Se un metodo o una proprietà non viene specificato in modo esplicito mediante le parole chiave Public, Dim o Private, la proprietà o il metodo sarà pubblico.
Tuttavia, si consiglia di indicare sempre in modo esplicito se una proprietà o un metodo sarà pubblico o privato.
Se si tenta di accedere a metodi o proprietà privati tramite un'istanza di una classe, verrà restituito un errore.
Esempio
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