VB.Net Tutorial/Class Module/Member Fields
Содержание
Field initialization
<source lang="vbnet">Imports System Module Test
Sub Main() Dim obj As YourClass obj = New YourClass() Console.WriteLine("Name is: " & obj.Name) Console.WriteLine("Address is: " & obj.Address) Console.WriteLine("ID is: " & obj.ID) End Sub
End Module Public Class YourClass
Public Name As String = "New YourClass" Public Address As String Public ID As Integer
End Class</source>
Name is: New YourClass Address is: ID is: 0
Public Field
<source lang="vbnet">Imports System Module PointPublic
Sub Main() Dim p as Point = New Point() Console.WriteLine("(" & p.X & "," & p.Y & ")") p.X = -100 p.Y = -100 Console.WriteLine("(" & p.X & "," & p.Y & ")") End Sub
End Module Public Class Point
Public Y as Integer "Public Field Public X as Integer "Public Field
End Class</source>
(0,0) (-100,-100)
Shadow fields
<source lang="vbnet">Public Class Tester
Public Shared Sub Main Dim objDerivedClass As New DerivedClass Console.WriteLine(objDerivedClass.Value) End Sub
End Class Class BaseClass
Public Value As Double = 3.14
End Class Class DerivedClass
Inherits BaseClass Public Shadows ReadOnly Property Value() As Double Get Return 2.7 End Get End Property
End Class</source>
2.7
Shadow member variable in base class
<source lang="vbnet">Module Module1
Class BaseClass Public Name As String Public Amount As Integer Public Message As String Public Sub New(ByVal Name As String, ByVal Amount As Integer, ByVal Message As String) Me.Name = Name Me.Amount = Amount Me.Message = Message End Sub Public Sub ShowBaseMembers() Console.WriteLine("Name: " & Name) Console.WriteLine("Amount: " & Amount) Console.WriteLine("Message: " & Message) End Sub End Class Class DerivedClass Inherits BaseClass Public Amount As Double Public Shadows Message As String Public Sub ShowDerivedMembers() Console.WriteLine("Name: " & Name) Console.WriteLine("Amount: " & Amount) Console.WriteLine("Message: " & Message) End Sub Public Sub New(ByVal Name As String, ByVal Amount As Integer, ByVal Message As String) MyBase.New(Name, Amount, Message) End Sub End Class Sub Main() End Sub
End Module</source>