‘一、建立子类 CAddress.cls
Private m_Street As String
Private m_City As String
Public Property Get Street() As String
Street = m_Street
End Property
Public Property Let Street(ByVal sStreet As String)
m_Street = sStreet
End Property
Public Property Get City() As String
City = m_City
End Property
Public Property Let City(ByVal sCity As String)
m_City = sCity
End Property
‘ 二、建立父类 CPerson.cls
Private m_Address As CAddress ‘ 声明 CAddress 类型的私有变量
‘ 自动初始化 CAddress 实例
Private Sub Class_Initialize()
Set m_Address = New CAddress
End Sub
‘ 清理资源
Private Sub Class_Terminate()
Set m_Address = Nothing
End Sub
‘ 通过 Property Get 公开 CAddress 实例
Public Property Get Address() As CAddress
Set Address = m_Address
End Property
‘ 可选:允许外部设置 CAddress 实例
Public Property Set Address(ByVal objAddress As CAddress)
Set m_Address = objAddress
End Property
‘ 三、在窗体或模块中使用:
Dim person As CPerson
Set person = New CPerson
‘ 设置地址属性
With person.Address
.Street = “123 Main St”
.City = “New York”
End With
‘ 读取地址属性
MsgBox “地址:” & person.Address.Street & “, ” & person.Address.City
‘四、注意事项
Set person.Address = New CAddress ‘ 正确
person.Address = New CAddress ‘ 错误(缺少 Set)