none
在类中,什么时候该引用属性,什么时候该引用实例变量? RRS feed

  • 问题

  •  在Deitel著的<<Visual Basic 2005 大学教程(第三版)>>这本书中我看到在类中要引用到实例变量的时候有时是直接引用,有时则是引用与之相关的属性(比如下面这个类),其实无论引用哪一个,都是同样的效果,但它们之间有区别吗?引用哪一个更好呢?
    Public Class high
       Private firstnamevalue As String   '声明实例变量firstnamevalue
       Private lastnamevalue As String    '声明实例变量lastnamevalue

       Public Sub New(ByVal first As String, ByVal last As String)    '声明构造函数
          firstname = first
          lastname = last
       End Sub

       Public Property firstname() As String    '声明属性firstname
          Get
             Return firstnamevalue
          End Get
          Set(ByVal value As String)
             firstnamevalue = value
          End Set
       End Property

       Public Property lastname() As String     '声明属性lastname
          Get
             Return lastnamevalue
          End Get
          Set(ByVal value As String)
             lastnamevalue = value
          End Set
       End Property

       Public Sub displaymeaage()
          Console.WriteLine("Hello! " & firstname & " " & lastname)   '这里引用的是属性
       End Sub

       Public Function name() As String
          Return (firstnamevalue & " " & lastnamevalue)               '这里引用的是实例变量
       End Function

       Public Overrides Function ToString() As String
          Return ("FirstName :" & firstnamevalue & vbCrLf & "LastName :" & lastnamevalue)    '这里引用的是实例变量
       End Function
    End Class


    xrhigh
    2009年2月20日 2:29

答案