VBA类 访问权限
成员权限,也称为成员可见性,包括:Private、Public。
Private:私有。只能在类的定义中访问,通过对象无法访问。
Public:公有。既可以在类的定义中访问,也能通过对象访问。
成员变量声明时必须显示声明成员权限。
成员方法(过程与函数)声明时可以不声明成员权限,默认表示Public。
类Student2的定义如下
Public m_id As Integer '公有成员变量
Public m_name As String
Private m_gender As Boolean '私有成员变量
'm_birth As Date '报错,成员变量前必须有权限声明
'公有成员方法
Public Sub display()
'类中可以访问这三个成员,正确。
Debug.Print "id:" & m_id & ",name:" & m_name & ":gender:" & m_gender
End Sub
'私有成员方法
Private Sub display2()
Debug.Print "id:" & m_id & ",name:" & m_name & ":gender:" & m_gender
End Sub
'默认权限的成员方法,等于加Public
Sub display3()
'类中可以访问这三个成员,正确。
Debug.Print "id:" & m_id & ",name:" & m_name & ":gender:" & m_gender
End Sub
对象的创建与访问
Sub test3()
Dim s As New Student2
'访问对象的成员变量
s.m_id = 3
s.m_name = "王五"
'无法访问私有成员变量
's.m_gender = True
s.display1
'无法访问对象的私有成员过程
's.display2
s.display3
End Sub