VBA 基于 OOP 的 Class Method Chaining
VBA 并不是完全意义上的 OOP 语言,OOP 的 4 pillars 中,VBA 并不直接支持 inheritance,但是可以通过 composition 的方式来 work around。
1 2 3 4 5 6 7 8 9 10 |
Private m_oBorder As CBorder Private Sub Class_Initialize() Set m_oBorder = New CBorder End Sub Public Property Get Border(Value as String) As CBorder Set Border = m_oBorder Border.Property1 = Value End Property |
先初始化一个关联 Class B,然后定义一个本 Class A 的 Property Border 为 Class B,就可以把 Class A 和 Class B 关联起来,实现 Property 和 Method 的 chaining,还可以通过 Property Get 将参数传入至 Class B。
[…] 这里主要涉及到怎么去做 Method Chaining,研究了很久,才基本弄明白整个思路。 […]