' Visual Basic 2008 9.0 .NET Examples - Inheritance - Object Oriented Programming : Class Person 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 Class Student : Inherits Person ' (1) Private m_ClassGroup As String Public Property ClassGroup() As String Get ClassGroup = m_ClassGroup End Get Set(ByVal value As String) m_ClassGroup = ClassGroup End Set End Property End Class Module Client1 Sub Main() Dim person1 As Person = New Person person1.Name = "John" Console.WriteLine(person1.Name) ' Dim student1 As Student = New Student student1.Name = "Jane" Console.WriteLine(student1.Name) student1.ClassGroup = "Group 1" Console.WriteLine(student1.ClassGroup) ' Console.ReadLine() End Sub End Module Class Teacher Inherits Person 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 Class Counter 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 Class SettableCounter : Inherits Counter Public Sub SetValue(ByVal value As Integer) m_Value = value End Sub End Class Module Client2 Sub Main() Dim counter1 As Counter = New Counter With counter1 Console.WriteLine(.GetValue() = 0) .Raise() Console.WriteLine(.GetValue() = 1) .Lower() Console.WriteLine(.GetValue() = 0) End With ' Dim specialCounter1 As SettableCounter = New SettableCounter With specialCounter1 Console.WriteLine(.GetValue() = 0) .SetValue(10) Console.WriteLine(.GetValue() = 10) .Raise() Console.WriteLine(.GetValue() = 11) .Lower() Console.WriteLine(.GetValue() = 10) End With ' Console.ReadLine() End Sub End Module Class Address Private m_Street As String Public Property Street() As String Get Street = m_Street End Get Set(ByVal value As String) m_Street = value End Set End Property Private m_Number As String Public Property Number() As String Get Number = m_Number End Get Set(ByVal value As String) m_Number = value End Set End Property Private m_ZipCode As String Public Property ZipCode() As String Get ZipCode = m_ZipCode End Get Set(ByVal value As String) m_ZipCode = value End Set End Property Private m_City As String Public Property City() As String Get City = m_City End Get Set(ByVal value As String) m_City = value End Set End Property End Class Class Employee 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 Private m_Address As Address Public Property Address() As Address Get Address = m_Address End Get Set(ByVal value As Address) m_Address = value End Set End Property End Class Class Manager : Inherits Employee Private m_Car As Car Public Property Car() As Car Get Car = m_Car End Get Set(ByVal value As Car) m_Car = value End Set End Property End Class Class Car Private m_Brand As String Public Property Brand() As String Get Brand = m_Brand End Get Set(ByVal value As String) m_Brand = value End Set End Property End Class Module Exercise2Solution Sub Main() Dim france As Republic = New Republic france.Capital = "Paris" france.President = "Sarkozy" ' Dim unitedKingdom As Monarchy = New Monarchy unitedKingdom.Capital = "London" unitedKingdom.Monarch = "Elizabeth" End Sub End Module Class Country Private m_Capital As String Public Property Capital() As String Get Capital = m_Capital End Get Set(ByVal value As String) m_Capital = value End Set End Property End Class Class Monarchy : Inherits Country Private m_Monarch As String Public Property Monarch() As String Get Monarch = m_Monarch End Get Set(ByVal value As String) m_Monarch = value End Set End Property End Class Class Republic : Inherits Country Private m_President As String Public Property President() As String Get President = m_President End Get Set(ByVal value As String) m_President = value End Set End Property End Class ' Visit www.studyvb.com for more examples. Copyright 2003-2008 De Wolf.