Sentencias Public y Private

Uno de los objetivos de la programación orientada a objetos es proporcionar una caja negra que oculte los detalles de implementación al usuario final. Para ayudar con esta encapsulación de complejidad, BSL le permite ocultar los métodos y las propiedades de un objeto.

Para crear métodos y propiedades que estén ocultos para el usuario final, anteponga la palabra clave Private a la definición de propiedades o métodos.

Para crear métodos y propiedades a los que pueda acceder el usuario final, anteponga la palabra clave Public o Dim a la definición de propiedades o métodos. Si no especifica explícitamente si un método o propiedad debe ser público, dim o privado, será público.

Sin embargo, se recomienda que siempre indique explícitamente si una propiedad o un método es público o privado.

Si se intenta acceder a métodos o propiedades privados mediante una instancia de una clase, se producirá un error.

Ejemplo:

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