' Visual Basic 2008 9.0 .NET Examples - Constructors - New - Object Oriented Programming : Class Person Public Sub New(ByVal name As String) ' (1) Me.Name = name End Sub Private m_Name As String Public Property Name() As String Get Name = m_Name End Get Set(ByVal value As String) m_Name = value End Set End Property End Class Module Client1 Sub Main() Dim person1 As Person = New Person("John") ' (2) Console.WriteLine(person1.Name) ' Console.ReadLine() End Sub End Module Class SomeClass Private Sub New() MyBase.New() End Sub End Class Module Client2 Sub Main() 'Dim object1 As SomeClass = New SomeClass ' impossible End Sub End Module Class Student : Inherits Person Public Sub New(ByVal name As String, ByVal classGroup As String) MyBase.New(name) Me.ClassGroup = classGroup End Sub Private m_ClassGroup As String Public Property ClassGroup() As String Get ClassGroup = m_ClassGroup End Get Set(ByVal value As String) m_ClassGroup = value End Set End Property End Class Module Client3 Sub Main() Dim student1 As Student = New Student("John", "Group 1") With student1 Console.WriteLine(.Name) Console.WriteLine(.ClassGroup) End With ' Console.ReadLine() End Sub End Module Class Teacher : Inherits Person Public Sub New(ByVal name As String) MyBase.New(name) End Sub Public Sub New(ByVal name As String, ByVal course As String) Me.New(name) Me.Course = course End Sub Private m_Course As String Public Property Course() As String Get Course = m_Course End Get Set(ByVal value As String) m_Course = value End Set End Property End Class Module Client4 Sub Main() Dim teacher1 As Teacher = New Teacher("John") Console.WriteLine(teacher1.Name) Console.WriteLine(teacher1.Course) ' Dim teacher2 As Teacher = New Teacher("Jane", "Visual Basic") Console.WriteLine(teacher2.Name) Console.WriteLine(teacher2.Course) ' Console.ReadLine() End Sub End Module Class Product Private m_Price As Decimal Private ReadOnly m_TaxPercentage As Decimal Public Sub New(ByVal taxPercentage As Decimal) m_TaxPercentage = taxPercentage End Sub Public ReadOnly Property TaxPercentage() As Decimal Get TaxPercentage = m_TaxPercentage End Get End Property Public Property Price() As Decimal Get Price = m_Price End Get Set(ByVal value As Decimal) m_Price = value End Set End Property Public Function GetPriceIncludingTax() As Decimal GetPriceIncludingTax = Price * (1 + (TaxPercentage / 100)) End Function End Class Module Client5 Sub Main() Dim product1 As Product = New Product(10) product1.Price = 100 Console.WriteLine(product1.GetPriceIncludingTax()) ' Console.ReadLine() End Sub End Module Module Exercise1Task Sub Main() Dim object2 As Class2 = New Class2 ' Console.WriteLine(object2.Value1) Console.WriteLine(object2.Value2) ' Console.ReadLine() End Sub End Module Class Class1 Public Value1 As Integer Public Sub New() Value1 = 1 End Sub End Class Class Class2 : Inherits Class1 Public Value2 As Integer End Class Module Exercise2Task Sub Main() Dim object4 As Class4 = New Class4 ' Console.WriteLine(object4.Value1) Console.WriteLine(object4.Value2) ' Console.ReadLine() End Sub End Module Class Class3 Public Value1 As Integer Public Sub New() Value1 = 3 End Sub End Class Class Class4 : Inherits Class3 Public Value2 As Integer Public Sub New() Value2 = Value1 * 4 End Sub End Class Module Exercise3Task Sub Main() Dim object6 As Class6 = New Class6 ' Console.WriteLine(object6.Value1) Console.WriteLine(object6.Value2) ' object6 = New Class6(10) ' Console.WriteLine(object6.Value1) Console.WriteLine(object6.Value2) ' Console.ReadLine() End Sub End Module Class Class5 Public Value1 As Integer Public Sub New() Value1 = 2 End Sub Public Sub New(ByVal value As Integer) Value1 = value End Sub End Class Class Class6 : Inherits Class5 Public Value2 As Integer Public Sub New() MyBase.New(5) Value2 = Value1 * 6 End Sub Public Sub New(ByVal value As Integer) MyBase.New() Value2 = Value1 * 6 End Sub End Class Module Exercise4Task Sub Main() Dim object8 As Class8 = New Class8 ' Console.WriteLine(object8.Value1) Console.WriteLine(object8.Value2) ' Console.ReadLine() End Sub End Module Class Class7 Public Value1 As Integer Public Sub New() End Sub Public Sub New(ByVal value As Integer) Value1 = value End Sub End Class Class Class8 : Inherits Class7 Public Value2 As Integer End Class Module Exercise5Task Sub Main() Dim object10 As Class10 = New Class10 ' Console.WriteLine(object10.Value1) Console.WriteLine(object10.Value2) ' Console.ReadLine() End Sub End Module Class Class9 Public Value1 As Integer Public Sub New() End Sub Public Sub New(ByVal value As Integer) Value1 = value End Sub End Class Class Class10 : Inherits Class9 Public Value2 As Integer Public Sub New() Value2 = 2 End Sub End Class Module Exercise6Task Sub Main() Dim object12 As Class12 = New Class12 ' Console.WriteLine(object12.Value1) Console.WriteLine(object12.Value2) ' Console.ReadLine() End Sub End Module Class Class11 Public Value1 As Integer Public Sub New() End Sub Public Sub New(ByVal value As Integer) Value1 = value End Sub End Class Class Class12 : Inherits Class11 Public Value2 As Integer Public Sub New() MyBase.New(1) Value2 = 2 End Sub End Class Module Exercise7Task Sub Main() Dim object14 As Class14 = New Class14(1, 2) ' Console.WriteLine(object14.Value1) Console.WriteLine(object14.Value2) ' Console.ReadLine() End Sub End Module Class Class13 Public Value1 As Integer Public Sub New(ByVal value As Integer) Value1 = value End Sub End Class Class Class14 : Inherits Class13 Public Value2 As Integer Public Sub New(ByVal value1 As Integer, ByVal value2 As Integer) MyBase.New(value1) Me.Value2 = value2 End Sub End Class Class Counter Public Sub New(ByVal value As Integer) m_Value = value End Sub Protected m_Value As Integer Public Function GetValue() As Integer GetValue = m_Value End Function Public Sub Raise() m_Value += 1 End Sub Public Sub Lower() m_Value -= 1 End Sub End Class Module Exercise8Solution Sub Main() Dim counter1 As Counter = New Counter(5) Console.WriteLine(counter1.GetValue() = 5) ' Console.ReadLine() End Sub End Module ' Visit www.studyvb.com for more examples. Copyright 2003-2008 De Wolf.