调用基类属性

时间:2015-01-31 15:25:21

标签: vb.net oop properties

这是一个相当简单的问题,两者都有效。但我只是想知道最佳做法是什么。当子类更改基类中的变量时。它应该调用属性还是只更改基础变量。

我没有使用该属性对数据执行某些操作。子类中的代码是相同的。但是什么被认为是OOP的最佳实践?

示例代码:

Public Class TestDirect
    Protected temp As Integer

End Class

Public Class TestChldDirect
    Inherits TestDirect

    Public Sub New()
        MyBase.temp = 1
    End Sub
End Class

Public Class TestProperty
    Private _temp As Integer
    '
    Public Property temp() As Integer
        Get
            Return Me._temp
        End Get
        Set(ByVal value As Integer)
            Me._temp = value
        End Set
    End Property
End Class

Public Class TestChldProperty
    Inherits TestProperty

    Public Sub New()
        MyBase.temp = 1
    End Sub
End Class

1 个答案:

答案 0 :(得分:1)

第二种方法可以在以后为您提供更大的灵活性,并更好地保护/隐藏您的底层实现。例如,在您的示例中,您可能希望修改临时类型,添加一些验证等。在第一个示例中,这些更改将更加困难,因为您将影响从基类派生的类。在第二个示例中,您可以在不影响任何派生类的情况下进行更改。