什么是财产程序?

时间:2017-01-27 13:16:38

标签: vba excel-vba excel

据我所知,在VBA中有三种程序:

  1. 功能
  2. 程序
  3. 财产程序
  4. 我在网上搜索,但没有找到明确的财产程序定义。

2 个答案:

答案 0 :(得分:5)

属性过程的示例将位于自定义类模块中。 它可以被检索(获取)或具有其值输入(let)

在自定义类(clsExample)

Sub example()

Dim exampleClass As clsExample
Set exampleClass = New clsExample
exampleClass.Name = "John Smith"
MsgBox (exampleClass.Name)

End Sub

你可以在标准子中使用一个如下:

localhost

一些优点是你可以为有意义的对象提供有意义的属性名称(即project.id,project.manager),另一个例子是你可以给对象派生属性是只读的(只使用get和no set)

答案 1 :(得分:0)

VBA中的

Property Procedure在其他编程语言(C#,Python)中仅被称为Property。 它用于encapsulation

封装和属性的想法是,您可以在其中放置一些业务逻辑,并且易于使用。 例如,让我们想象你有一辆卡车,不允许超过90公里/小时。因此,当驾驶员需要使用120时,卡车应该仍然使用90.这很容易通过属性来实现。样本在Module1

中生成
Private m_dblSpeed As Double
Private Const MAX_SPEED = 90

Private Property Get dblSpeed() As Double

    dblSpeed = m_dblSpeed

End Property

Private Property Let dblSpeed(ByVal NewValue As Double)

    If NewValue > MAX_SPEED Then
        m_dblSpeed = MAX_SPEED
    Else
        m_dblSpeed = NewValue
    End If

End Property

Public Sub TestModul()

    Modul1.dblSpeed = 120
    Debug.Print Modul1.dblSpeed

    Modul1.dblSpeed = 88
    Debug.Print Modul1.dblSpeed

End Sub