首页 > 解决方案 > 将方法添加到类的属性

问题描述

我很困惑。我是 VBA 课程的新手。我想将多个方法添加到类的属性,或者将属性添加到另一个属性。我可能没有正确的术语?

我可以添加一个属性,但我想深入研究。

例如,如果我让一个班级人:

PersonClass.Features.Hair.Texture.Color
PersonClass.Features.Hair.Texture.Style
PersonClass.Features.Hair.Length

我不知道该怎么做。

例如

MyClass.MyProperty.MyMethod1
MyClass.MyProperty.MyMethod2
MyClass.MyProperty.MyMethod3

或者

MyClass.MyProperty.MyMethod1.MyMethod2

标签: vba

解决方案


这是一个示例来说明评论中提到的概念:

主表格

Option Explicit

Private Sub Form_Load()
   Dim p As Person
   Set p = New Person
   p.Features.Hair = "Red"
   MsgBox p.Features.Hair
End Sub

人员类

Option Explicit

Private m_Features As Features

Private Sub Class_Initialize()
   Set m_Features = New Features
End Sub

Public Property Get Features() As Features
   Set Features = m_Features
End Property

特征类

Option Explicit

Private m_Hair As String  'this would actually be another class
                          'in your example

Public Property Get Hair() As String
   Hair = m_Hair
End Property

Public Property Let Hair(ByVal Value As String)
   m_Hair = Value
End Property

推荐阅读