<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://www.vbex.ru/index.php?action=history&amp;feed=atom&amp;title=VB.Net_Tutorial%2FClass_Module%2FClass_Inheritance</id>
		<title>VB.Net Tutorial/Class Module/Class Inheritance - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://www.vbex.ru/index.php?action=history&amp;feed=atom&amp;title=VB.Net_Tutorial%2FClass_Module%2FClass_Inheritance"/>
		<link rel="alternate" type="text/html" href="http://www.vbex.ru/index.php?title=VB.Net_Tutorial/Class_Module/Class_Inheritance&amp;action=history"/>
		<updated>2026-04-05T05:17:01Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://www.vbex.ru/index.php?title=VB.Net_Tutorial/Class_Module/Class_Inheritance&amp;diff=3407&amp;oldid=prev</id>
		<title> в 16:40, 26 мая 2010</title>
		<link rel="alternate" type="text/html" href="http://www.vbex.ru/index.php?title=VB.Net_Tutorial/Class_Module/Class_Inheritance&amp;diff=3407&amp;oldid=prev"/>
				<updated>2010-05-26T16:40:30Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr style=&quot;vertical-align: top;&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Версия 16:40, 26 мая 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; style=&quot;text-align: center;&quot; lang=&quot;ru&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(нет различий)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
			</entry>

	<entry>
		<id>http://www.vbex.ru/index.php?title=VB.Net_Tutorial/Class_Module/Class_Inheritance&amp;diff=3408&amp;oldid=prev</id>
		<title>Admin: 1 версия</title>
		<link rel="alternate" type="text/html" href="http://www.vbex.ru/index.php?title=VB.Net_Tutorial/Class_Module/Class_Inheritance&amp;diff=3408&amp;oldid=prev"/>
				<updated>2010-05-26T12:55:23Z</updated>
		
		<summary type="html">&lt;p&gt;1 версия&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==Call base method==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;vbnet&amp;quot;&amp;gt;Option Strict On&lt;br /&gt;
Public Class BaseClass&lt;br /&gt;
   Public Sub MainMethod()&lt;br /&gt;
      Console.WriteLine(&amp;quot;Calling Me.Method1...&amp;quot;)&lt;br /&gt;
      Me.Method1()&lt;br /&gt;
      Console.WriteLine(&amp;quot;Calling MyClass.Method1...&amp;quot;)&lt;br /&gt;
      MyClass.Method1()&lt;br /&gt;
   End Sub&lt;br /&gt;
   Public Overridable Sub Method1()&lt;br /&gt;
      Console.WriteLine(&amp;quot;BaseClass.Method1...&amp;quot;)&lt;br /&gt;
   End Sub&lt;br /&gt;
End Class&lt;br /&gt;
Public Class DerivedClass : Inherits BaseClass&lt;br /&gt;
      Public Overrides Sub Method1()&lt;br /&gt;
         Console.WriteLine(&amp;quot;DerivedClass.Method1...&amp;quot;)&lt;br /&gt;
      End Sub&lt;br /&gt;
End Class&lt;br /&gt;
Public Module modMain&lt;br /&gt;
   Public Sub Main()&lt;br /&gt;
      Console.WriteLine(&amp;quot;Invoking BaseClass.MainMethod&amp;quot;)&lt;br /&gt;
      Dim bc As New BaseClass&lt;br /&gt;
      bc.MainMethod()&lt;br /&gt;
      Console.WriteLine()&lt;br /&gt;
      Console.WriteLine(&amp;quot;Invoking DerivedClass.MainMethod&amp;quot;)&lt;br /&gt;
      Dim dc As New DerivedClass&lt;br /&gt;
      dc.MainMethod()&lt;br /&gt;
   End Sub&lt;br /&gt;
End Module&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;pre class=codeResult&amp;gt;Invoking BaseClass.MainMethod&lt;br /&gt;
Calling Me.Method1...&lt;br /&gt;
BaseClass.Method1...&lt;br /&gt;
Calling MyClass.Method1...&lt;br /&gt;
BaseClass.Method1...&lt;br /&gt;
Invoking DerivedClass.MainMethod&lt;br /&gt;
Calling Me.Method1...&lt;br /&gt;
DerivedClass.Method1...&lt;br /&gt;
Calling MyClass.Method1...&lt;br /&gt;
BaseClass.Method1...&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Circle class that inherits from class Point==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;vbnet&amp;quot;&amp;gt;Module Tester&lt;br /&gt;
   Sub Main()&lt;br /&gt;
      Dim circle As Circle&lt;br /&gt;
      circle = New Circle(37, 43, 2.5) &amp;quot; instantiate Circle&lt;br /&gt;
      Console.WriteLine(&amp;quot;X coordinate is &amp;quot; &amp;amp; circle.X &amp;amp; vbCrLf &amp;amp; _&lt;br /&gt;
         &amp;quot;Y coordinate is &amp;quot; &amp;amp; circle.Y &amp;amp; vbCrLf &amp;amp; &amp;quot;Radius is &amp;quot; &amp;amp; _&lt;br /&gt;
         circle.Radius)&lt;br /&gt;
      circle.X = 2&lt;br /&gt;
      circle.Y = 2&lt;br /&gt;
      circle.Radius = 4.25&lt;br /&gt;
      Console.WriteLine(&amp;quot;The new location and radius of circle are &amp;quot; &amp;amp; _&lt;br /&gt;
         vbCrLf &amp;amp; circle.ToString())&lt;br /&gt;
      Console.WriteLine(&amp;quot;Diameter is &amp;quot; &amp;amp; _&lt;br /&gt;
         String.Format(&amp;quot;{0:F}&amp;quot;, circle.Diameter()))&lt;br /&gt;
      Console.WriteLine(&amp;quot;Circumference is &amp;quot; &amp;amp; _&lt;br /&gt;
         String.Format(&amp;quot;{0:F}&amp;quot;, circle.Circumference()))&lt;br /&gt;
      Console.WriteLine(&amp;quot;Area is &amp;quot; &amp;amp; String.Format(&amp;quot;{0:F}&amp;quot;, circle.Area()))&lt;br /&gt;
   End Sub &amp;quot; Main&lt;br /&gt;
End Module &lt;br /&gt;
&lt;br /&gt;
Public Class Point&lt;br /&gt;
   Protected mX, mY As Integer&lt;br /&gt;
   Public Sub New()&lt;br /&gt;
      X = 0&lt;br /&gt;
      Y = 0&lt;br /&gt;
   End Sub &amp;quot; New&lt;br /&gt;
   Public Sub New(ByVal xValue As Integer, _&lt;br /&gt;
      ByVal yValue As Integer)&lt;br /&gt;
      X = xValue&lt;br /&gt;
      Y = yValue&lt;br /&gt;
   End Sub &amp;quot; New&lt;br /&gt;
   Public Property X() As Integer&lt;br /&gt;
      Get&lt;br /&gt;
         Return mX&lt;br /&gt;
      End Get&lt;br /&gt;
      Set(ByVal xValue As Integer)&lt;br /&gt;
         mX = xValue &amp;quot; no need for validation&lt;br /&gt;
      End Set&lt;br /&gt;
   End Property &amp;quot; X&lt;br /&gt;
   Public Property Y() As Integer&lt;br /&gt;
      Get&lt;br /&gt;
         Return mY&lt;br /&gt;
      End Get&lt;br /&gt;
      Set(ByVal yValue As Integer)&lt;br /&gt;
         mY = yValue &amp;quot; no need for validation&lt;br /&gt;
      End Set&lt;br /&gt;
   End Property &amp;quot; Y&lt;br /&gt;
   Public Overrides Function ToString() As String&lt;br /&gt;
      Return &amp;quot;[&amp;quot; &amp;amp; mX &amp;amp; &amp;quot;, &amp;quot; &amp;amp; mY &amp;amp; &amp;quot;]&amp;quot;&lt;br /&gt;
   End Function &amp;quot; ToString&lt;br /&gt;
End Class &lt;br /&gt;
&lt;br /&gt;
Public Class Circle&lt;br /&gt;
   Inherits Point &amp;quot; Circle Inherits from class Point&lt;br /&gt;
   Private mRadius As Double &amp;quot; Circle&amp;quot;s radius&lt;br /&gt;
   Public Sub New()&lt;br /&gt;
      Radius = 0&lt;br /&gt;
   End Sub &amp;quot; New&lt;br /&gt;
   Public Sub New(ByVal xValue As Integer, _&lt;br /&gt;
      ByVal yValue As Integer, ByVal radiusValue As Double)&lt;br /&gt;
      mX = xValue&lt;br /&gt;
      mY = yValue&lt;br /&gt;
      Radius = radiusValue&lt;br /&gt;
   End Sub &amp;quot; New&lt;br /&gt;
   Public Property Radius() As Double&lt;br /&gt;
      Get&lt;br /&gt;
         Return mRadius&lt;br /&gt;
      End Get&lt;br /&gt;
      Set(ByVal radiusValue As Double)&lt;br /&gt;
         If radiusValue &amp;gt; 0 Then&lt;br /&gt;
            mRadius = radiusValue&lt;br /&gt;
         End If&lt;br /&gt;
      End Set&lt;br /&gt;
   End Property &amp;quot; Radius&lt;br /&gt;
   Public Function Diameter() As Double&lt;br /&gt;
      Return mRadius * 2&lt;br /&gt;
   End Function &amp;quot; Diameter&lt;br /&gt;
   &amp;quot; calculate Circle circumference&lt;br /&gt;
   Public Function Circumference() As Double&lt;br /&gt;
      Return Math.PI * Diameter()&lt;br /&gt;
   End Function &amp;quot; Circumference&lt;br /&gt;
   &amp;quot; calculate Circle area&lt;br /&gt;
   Public Overridable Function Area() As Double&lt;br /&gt;
      Return Math.PI * mRadius ^ 2&lt;br /&gt;
   End Function &amp;quot; Area&lt;br /&gt;
   &amp;quot; return String representation of Circle&lt;br /&gt;
   Public Overrides Function ToString() As String&lt;br /&gt;
      Return &amp;quot;Center = &amp;quot; &amp;amp; &amp;quot;[&amp;quot; &amp;amp; mX &amp;amp; &amp;quot;, &amp;quot; &amp;amp; mY &amp;amp; &amp;quot;]&amp;quot; &amp;amp; _&lt;br /&gt;
         &amp;quot;; Radius = &amp;quot; &amp;amp; mRadius&lt;br /&gt;
   End Function &amp;quot; ToString&lt;br /&gt;
End Class&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;pre class=codeResult&amp;gt;X coordinate is 37&lt;br /&gt;
Y coordinate is 43&lt;br /&gt;
Radius is 2.5&lt;br /&gt;
The new location and radius of circle are&lt;br /&gt;
Center = [2, 2]; Radius = 4.25&lt;br /&gt;
Diameter is 8.50&lt;br /&gt;
Circumference is 26.70&lt;br /&gt;
Area is 56.75&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Class implicitly Inherits Object==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;vbnet&amp;quot;&amp;gt;Module Tester&lt;br /&gt;
   Sub Main()&lt;br /&gt;
      Dim point As CPoint&lt;br /&gt;
      point = New CPoint(2, 5) &lt;br /&gt;
      Console.WriteLine(&amp;quot;X coordinate is &amp;quot; &amp;amp; point.X &amp;amp; _&lt;br /&gt;
         vbCrLf &amp;amp; &amp;quot;Y coordinate is &amp;quot; &amp;amp; point.Y)&lt;br /&gt;
      point.X = 10 &lt;br /&gt;
      point.Y = 10 &lt;br /&gt;
      Console.WriteLine(&amp;quot;The new location of point is &amp;quot; &amp;amp; point.ToString())&lt;br /&gt;
   End Sub &amp;quot; Main&lt;br /&gt;
End Module&lt;br /&gt;
Public Class CPoint&lt;br /&gt;
   &amp;quot; implicitly Inherits Object&lt;br /&gt;
   Private mX, mY As Integer&lt;br /&gt;
   Public Sub New()&lt;br /&gt;
      X = 0&lt;br /&gt;
      Y = 0&lt;br /&gt;
   End Sub&lt;br /&gt;
   &lt;br /&gt;
   Public Sub New(ByVal xValue As Integer,ByVal yValue As Integer)&lt;br /&gt;
      X = xValue&lt;br /&gt;
      Y = yValue&lt;br /&gt;
   End Sub &amp;quot; New&lt;br /&gt;
   Public Property X() As Integer&lt;br /&gt;
      Get&lt;br /&gt;
         Return mX&lt;br /&gt;
      End Get&lt;br /&gt;
      Set(ByVal xValue As Integer)&lt;br /&gt;
         mX = xValue &amp;quot; no need for validation&lt;br /&gt;
      End Set&lt;br /&gt;
   End Property &amp;quot; X&lt;br /&gt;
   Public Property Y() As Integer&lt;br /&gt;
      Get&lt;br /&gt;
         Return mY&lt;br /&gt;
      End Get&lt;br /&gt;
      Set(ByVal yValue As Integer)&lt;br /&gt;
         mY = yValue &amp;quot; no need for validation&lt;br /&gt;
      End Set&lt;br /&gt;
   End Property &amp;quot; Y&lt;br /&gt;
   Public Overrides Function ToString() As String&lt;br /&gt;
      Return &amp;quot;[&amp;quot; &amp;amp; mX &amp;amp; &amp;quot;, &amp;quot; &amp;amp; mY &amp;amp; &amp;quot;]&amp;quot;&lt;br /&gt;
   End Function &amp;quot; ToString&lt;br /&gt;
End Class&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;pre class=codeResult&amp;gt;X coordinate is 2&lt;br /&gt;
Y coordinate is 5&lt;br /&gt;
The new location of point is [10, 10]&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Class inheritance and polymorphism==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;vbnet&amp;quot;&amp;gt;Imports System.Collections&lt;br /&gt;
public class Test&lt;br /&gt;
   public Shared Sub Main&lt;br /&gt;
        Dim objShape1 As New Triangle&lt;br /&gt;
        Dim objShape2 As New Circle&lt;br /&gt;
        Dim objShape3 As New Square&lt;br /&gt;
        Dim ShapeEnum As IEnumerator&lt;br /&gt;
        Dim dblTotalArea As Double&lt;br /&gt;
        objShape1.SideA = 3&lt;br /&gt;
        objShape1.SideB = 3.2&lt;br /&gt;
        objShape1.SideC = 0.94&lt;br /&gt;
        Console.WriteLine(&amp;quot;The triangle&amp;quot;s area is &amp;quot; &amp;amp; objShape1.Area.ToString &amp;amp; &amp;quot;.&amp;quot;)&lt;br /&gt;
        objShape2.Radius = 4&lt;br /&gt;
        Console.WriteLine(&amp;quot;The circle&amp;quot;s area is &amp;quot; &amp;amp; objShape2.Area.ToString &amp;amp; &amp;quot;.&amp;quot;)&lt;br /&gt;
        objShape3.Side = 10.01&lt;br /&gt;
        Console.WriteLine(&amp;quot;The square&amp;quot;s area is &amp;quot; &amp;amp; objShape3.Area.ToString &amp;amp; &amp;quot;.&amp;quot;)&lt;br /&gt;
        Dim aryShapes() As Shape = {objShape1, objShape2, objShape3}&lt;br /&gt;
        ShapeEnum = aryShapes.GetEnumerator&lt;br /&gt;
        While ShapeEnum.MoveNext&lt;br /&gt;
            dblTotalArea += CType(ShapeEnum.Current, Shape).Area&lt;br /&gt;
        End While&lt;br /&gt;
        Console.WriteLine(&amp;quot;The total area of your shapes is &amp;quot; &amp;amp; dblTotalArea.ToString &amp;amp; &amp;quot;.&amp;quot;)&lt;br /&gt;
   End Sub&lt;br /&gt;
End class&lt;br /&gt;
Public MustInherit Class Shape&lt;br /&gt;
    Public MustOverride Function Area() As Double&lt;br /&gt;
    Public MustOverride Function Perimeter() As Double&lt;br /&gt;
End Class&lt;br /&gt;
&lt;br /&gt;
Public Class Square&lt;br /&gt;
    Inherits Shape&lt;br /&gt;
    Private mySide As Double&lt;br /&gt;
    Public Property Side() As Double&lt;br /&gt;
        Get&lt;br /&gt;
            Side = mySide&lt;br /&gt;
        End Get&lt;br /&gt;
        Set(ByVal Value As Double)&lt;br /&gt;
            mySide = Value&lt;br /&gt;
        End Set&lt;br /&gt;
    End Property&lt;br /&gt;
    Public Overrides Function Area() As Double&lt;br /&gt;
        Area = mySide * mySide&lt;br /&gt;
    End Function&lt;br /&gt;
    Public Overrides Function Perimeter() As Double&lt;br /&gt;
        Return (4 * mySide)&lt;br /&gt;
    End Function&lt;br /&gt;
End Class&lt;br /&gt;
Public Class Triangle&lt;br /&gt;
    Inherits Shape&lt;br /&gt;
    Private mySide1, mySide2, mySide3 As Double&lt;br /&gt;
    Property SideA() As Double&lt;br /&gt;
        Get&lt;br /&gt;
            SideA = mySide1&lt;br /&gt;
        End Get&lt;br /&gt;
        Set(ByVal Value As Double)&lt;br /&gt;
            mySide1 = Value&lt;br /&gt;
        End Set&lt;br /&gt;
    End Property&lt;br /&gt;
    Property SideB() As Double&lt;br /&gt;
        Get&lt;br /&gt;
            SideB = mySide2&lt;br /&gt;
        End Get&lt;br /&gt;
        Set(ByVal Value As Double)&lt;br /&gt;
            mySide2 = Value&lt;br /&gt;
        End Set&lt;br /&gt;
    End Property&lt;br /&gt;
    Public Property SideC() As Double&lt;br /&gt;
        Get&lt;br /&gt;
            SideC = mySide3&lt;br /&gt;
        End Get&lt;br /&gt;
        Set(ByVal Value As Double)&lt;br /&gt;
            mySide3 = Value&lt;br /&gt;
        End Set&lt;br /&gt;
    End Property&lt;br /&gt;
    Public Overrides Function Area() As Double&lt;br /&gt;
        Dim dblPerim As Double&lt;br /&gt;
        dblPerim = Perimeter()&lt;br /&gt;
        Return (Math.Sqrt(dblPerim * (dblPerim - mySide1) * _&lt;br /&gt;
        (dblPerim - mySide2) * (dblPerim - mySide3)))&lt;br /&gt;
    End Function&lt;br /&gt;
    Public Overrides Function Perimeter() As Double&lt;br /&gt;
        Return (mySide1 + mySide2 + mySide3)&lt;br /&gt;
    End Function&lt;br /&gt;
    Sub New(ByVal SideA As Double, ByVal SideB As Double, ByVal SideC As Double)&lt;br /&gt;
        MyBase.New()&lt;br /&gt;
        mySide1 = SideA&lt;br /&gt;
        mySide2 = SideB&lt;br /&gt;
        mySide3 = SideC&lt;br /&gt;
    End Sub&lt;br /&gt;
    Sub New()&lt;br /&gt;
        MyBase.New()&lt;br /&gt;
    End Sub&lt;br /&gt;
End Class&lt;br /&gt;
Public Class Circle&lt;br /&gt;
    Inherits Shape&lt;br /&gt;
    Private m_dblRadius As Double&lt;br /&gt;
    Public Property Radius() As Double&lt;br /&gt;
        Get&lt;br /&gt;
            Radius = m_dblRadius&lt;br /&gt;
        End Get&lt;br /&gt;
        Set(ByVal Value As Double)&lt;br /&gt;
            m_dblRadius = Value&lt;br /&gt;
        End Set&lt;br /&gt;
    End Property&lt;br /&gt;
    Public Overrides Function Area() As Double&lt;br /&gt;
        Return (Math.PI * m_dblRadius ^ 2)&lt;br /&gt;
    End Function&lt;br /&gt;
    Public Overrides Function Perimeter() As Double&lt;br /&gt;
        Return (2 * Math.PI * m_dblRadius)&lt;br /&gt;
    End Function&lt;br /&gt;
    Sub New()&lt;br /&gt;
        MyBase.New()&lt;br /&gt;
    End Sub&lt;br /&gt;
    Sub New(ByVal Radius As Double)&lt;br /&gt;
        MyBase.New()&lt;br /&gt;
        m_dblRadius = Radius&lt;br /&gt;
    End Sub&lt;br /&gt;
End Class&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;pre class=codeResult&amp;gt;The triangle&amp;quot;s area is 26.8715818068085.&lt;br /&gt;
The circle&amp;quot;s area is 50.2654824574367.&lt;br /&gt;
The square&amp;quot;s area is 100.2001.&lt;br /&gt;
The total area of your shapes is 177.337164264245.&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Inherit constant from base class==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;vbnet&amp;quot;&amp;gt;Public Class ConstantBase&lt;br /&gt;
   Public Const GENERATION As Integer = 1&lt;br /&gt;
End Class&lt;br /&gt;
Public Class ConstantDerived : Inherits ConstantBase&lt;br /&gt;
End Class&lt;br /&gt;
Public Class classMain&lt;br /&gt;
   Public Shared Sub Main()&lt;br /&gt;
       Dim cd As New ConstantDerived&lt;br /&gt;
       Console.WriteLine(cd.GENERATION)&lt;br /&gt;
   End Sub&lt;br /&gt;
End Class&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;pre class=codeResult&amp;gt;1&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Inherit ToString method from Object==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;vbnet&amp;quot;&amp;gt;Option Strict On&lt;br /&gt;
Public Class EmptyClass&lt;br /&gt;
End Class&lt;br /&gt;
Public Module modMain&lt;br /&gt;
   Public Sub Main()&lt;br /&gt;
      Dim ec As New EmptyClass&lt;br /&gt;
      Console.WriteLine(ec.ToString()) &lt;br /&gt;
   End Sub&lt;br /&gt;
End Module&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;pre class=codeResult&amp;gt;EmptyClass&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Multilevel inheritance==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;vbnet&amp;quot;&amp;gt;Class Person&lt;br /&gt;
    Public Name As String&lt;br /&gt;
    Public Age As Integer&lt;br /&gt;
    Public Sub New(ByVal Name As String, ByVal Age As Integer)&lt;br /&gt;
        Me.Name = Name&lt;br /&gt;
        Me.Age = Age&lt;br /&gt;
    End Sub&lt;br /&gt;
End Class&lt;br /&gt;
Class Player&lt;br /&gt;
    Inherits Person&lt;br /&gt;
    Public Sport As String&lt;br /&gt;
    Public Team As String&lt;br /&gt;
    Public Sub New(ByVal Name As String, ByVal Age As Integer, _&lt;br /&gt;
    ByVal Sport As String, ByVal Team As String)&lt;br /&gt;
        MyBase.New(Name, Age)&lt;br /&gt;
        Me.Team = Team&lt;br /&gt;
        Me.Sport = Sport&lt;br /&gt;
    End Sub&lt;br /&gt;
End Class&lt;br /&gt;
Class BasketPlayer&lt;br /&gt;
    Inherits Player&lt;br /&gt;
    Public PointsPerGame As Double&lt;br /&gt;
    Public Rebounds As Double&lt;br /&gt;
    Public Sub New(ByVal Name As String, ByVal Age As Integer, _&lt;br /&gt;
    ByVal Sport As String, ByVal Team As String, ByVal Points As Double, ByVal Rebounds As Double)&lt;br /&gt;
        MyBase.New(Name, Age, Sport, Team)&lt;br /&gt;
        Me.PointsPerGame = Points&lt;br /&gt;
        Me.Rebounds = Rebounds&lt;br /&gt;
    End Sub&lt;br /&gt;
    Public Sub Show()&lt;br /&gt;
        Console.WriteLine(&amp;quot;Player: &amp;quot; &amp;amp; Name)&lt;br /&gt;
        Console.WriteLine(&amp;quot;Age: &amp;quot; &amp;amp; Age)&lt;br /&gt;
        Console.WriteLine(&amp;quot;Sport: &amp;quot; &amp;amp; Sport)&lt;br /&gt;
        Console.WriteLine(&amp;quot;Team: &amp;quot; &amp;amp; Team)&lt;br /&gt;
        Console.WriteLine(&amp;quot;Points: &amp;quot; &amp;amp; PointsPerGame)&lt;br /&gt;
        Console.WriteLine(&amp;quot;Rebounds: &amp;quot; &amp;amp; Rebounds)&lt;br /&gt;
    End Sub&lt;br /&gt;
End Class&lt;br /&gt;
Module Module1&lt;br /&gt;
    Sub Main()&lt;br /&gt;
        Dim K As New BasketPlayer(&amp;quot;AA&amp;quot;, 12, &amp;quot;Basketball&amp;quot;, &amp;quot;Team&amp;quot;, 25.5, 6.3)&lt;br /&gt;
        K.Show()&lt;br /&gt;
    End Sub&lt;br /&gt;
End Module&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;pre class=codeResult&amp;gt;Player: AA&lt;br /&gt;
Age: 12&lt;br /&gt;
Sport: Basketball&lt;br /&gt;
Team: Team&lt;br /&gt;
Points: 25.5&lt;br /&gt;
Rebounds: 6.3&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Shadows member function from base class==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;vbnet&amp;quot;&amp;gt;Option Strict On&lt;br /&gt;
Public Class ShadowClass&lt;br /&gt;
   Private value As String&lt;br /&gt;
   Public Sub New(value As String)&lt;br /&gt;
      Me.value = value&lt;br /&gt;
   End Sub&lt;br /&gt;
   Public Shadows Function ToString() As String&lt;br /&gt;
      Return &amp;quot;Value of &amp;quot; &amp;amp; Me.GetType.Name &amp;amp; &amp;quot;: &amp;quot; &amp;amp; Me.value&lt;br /&gt;
   End Function&lt;br /&gt;
End Class&lt;br /&gt;
Public Module ShadowTest&lt;br /&gt;
   Public Sub Main()&lt;br /&gt;
      Dim sc As ShadowClass = New ShadowClass(&amp;quot;The Shadow&amp;quot;)&lt;br /&gt;
      Console.WriteLine(sc.ToString())&lt;br /&gt;
      Dim obj As Object = New ShadowClass(&amp;quot;The Shadow&amp;quot;)&lt;br /&gt;
      Console.WriteLine(obj.ToString())&lt;br /&gt;
   End Sub&lt;br /&gt;
End Module&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;pre class=codeResult&amp;gt;Value of ShadowClass: The Shadow&lt;br /&gt;
ShadowClass&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Simple Inheritance==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;vbnet&amp;quot;&amp;gt;Public Class Tester&lt;br /&gt;
    Public Shared Sub Main&lt;br /&gt;
        Dim objJohn As New John&lt;br /&gt;
        objJohn.Walk()&lt;br /&gt;
    End Sub&lt;br /&gt;
End Class&lt;br /&gt;
&lt;br /&gt;
Public Class Person&lt;br /&gt;
    Public Sub Walk()&lt;br /&gt;
        Console.WriteLine(&amp;quot;Walking...&amp;quot;)&lt;br /&gt;
    End Sub&lt;br /&gt;
End Class&lt;br /&gt;
Class John&lt;br /&gt;
    Inherits Person&lt;br /&gt;
End Class&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;pre class=codeResult&amp;gt;Walking...&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Use For Each for Class Hierarchy==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;vbnet&amp;quot;&amp;gt;public class Test&lt;br /&gt;
   public Shared Sub Main&lt;br /&gt;
        Dim people As New Collection&lt;br /&gt;
        people.Add(New Employee(&amp;quot;A&amp;quot;))&lt;br /&gt;
        people.Add(New Customer(&amp;quot;B&amp;quot;))&lt;br /&gt;
        For Each person As Object In people&lt;br /&gt;
            Console.WriteLine(person.Name)&lt;br /&gt;
        Next person&lt;br /&gt;
   End Sub&lt;br /&gt;
End class&lt;br /&gt;
&lt;br /&gt;
Public Class Employee&lt;br /&gt;
    Public Name As String&lt;br /&gt;
    Public Sub New(ByVal new_name As String)&lt;br /&gt;
        Name = new_name&lt;br /&gt;
    End Sub&lt;br /&gt;
    Public Overridable Function IsManager() As Boolean&lt;br /&gt;
        Return False&lt;br /&gt;
    End Function&lt;br /&gt;
End Class&lt;br /&gt;
Public Class Customer&lt;br /&gt;
    Public Name As String&lt;br /&gt;
    Public Sub New(ByVal new_name As String)&lt;br /&gt;
        Name = new_name&lt;br /&gt;
    End Sub&lt;br /&gt;
End Class&lt;br /&gt;
Public Class Manager&lt;br /&gt;
    Inherits Employee&lt;br /&gt;
    Public Sub New(ByVal new_name As String)&lt;br /&gt;
        MyBase.new(new_name)&lt;br /&gt;
    End Sub&lt;br /&gt;
    Public Overrides Function IsManager() As Boolean&lt;br /&gt;
        Return True&lt;br /&gt;
    End Function&lt;br /&gt;
End Class&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;pre class=codeResult&amp;gt;A&lt;br /&gt;
B&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	</feed>