<?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%2FClass%2FInheritance</id>
		<title>VB.Net/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%2FClass%2FInheritance"/>
		<link rel="alternate" type="text/html" href="http://www.vbex.ru/index.php?title=VB.Net/Class/Inheritance&amp;action=history"/>
		<updated>2026-04-05T12:26:07Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://www.vbex.ru/index.php?title=VB.Net/Class/Inheritance&amp;diff=364&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/Class/Inheritance&amp;diff=364&amp;oldid=prev"/>
				<updated>2010-05-26T16:40:06Z</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/Class/Inheritance&amp;diff=365&amp;oldid=prev</id>
		<title>Admin: 1 версия</title>
		<link rel="alternate" type="text/html" href="http://www.vbex.ru/index.php?title=VB.Net/Class/Inheritance&amp;diff=365&amp;oldid=prev"/>
				<updated>2010-05-26T12:42:44Z</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;==Class Inheritance Demo==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;vbnet&amp;quot;&amp;gt;&lt;br /&gt;
Imports System&lt;br /&gt;
Imports System.Collections&lt;br /&gt;
Imports System.ruponentModel&lt;br /&gt;
Imports System.Windows.Forms&lt;br /&gt;
Imports System.Data&lt;br /&gt;
Imports System.Configuration&lt;br /&gt;
Imports System.Resources&lt;br /&gt;
Imports System.Drawing&lt;br /&gt;
Imports System.Drawing.Drawing2D&lt;br /&gt;
Imports System.IO&lt;br /&gt;
Imports System.Drawing.Printing&lt;br /&gt;
&lt;br /&gt;
Module Module1&lt;br /&gt;
    Sub Main()&lt;br /&gt;
        Using objCar As New SportsCar&lt;br /&gt;
            &amp;quot;Set the horsepower and weight(kg)&lt;br /&gt;
            objCar.HorsePower = 240&lt;br /&gt;
            objCar.Weight = 1085&lt;br /&gt;
            &amp;quot;Display the details of the car&lt;br /&gt;
            DisplayCarDetails(objCar)&lt;br /&gt;
            DisplaySportsCarDetails(objCar)&lt;br /&gt;
        End Using&lt;br /&gt;
        &amp;quot;Wait for input from the user&lt;br /&gt;
        Console.ReadLine()&lt;br /&gt;
    End Sub&lt;br /&gt;
    &amp;quot;DisplayCarDetails - procedure that displays a car&amp;quot;s details&lt;br /&gt;
    Sub DisplayCarDetails(ByVal theCar As Car)&lt;br /&gt;
        &amp;quot;Display the details of the car&lt;br /&gt;
        Console.WriteLine(&amp;quot;Color: &amp;quot; &amp;amp; theCar.Color)&lt;br /&gt;
        Console.WriteLine(&amp;quot;Number of doors: &amp;quot; &amp;amp; theCar.NumberOfDoors)&lt;br /&gt;
        Console.WriteLine(&amp;quot;Current speed: &amp;quot; &amp;amp; theCar.Speed)&lt;br /&gt;
        Console.WriteLine(&amp;quot;Acceleration rate: &amp;quot; &amp;amp; _&lt;br /&gt;
            theCar.CalculateAccelerationRate)&lt;br /&gt;
    End Sub&lt;br /&gt;
    &amp;quot;DisplaySportsCarDetails - procedure that displays a sports car&amp;quot;s details&lt;br /&gt;
    Sub DisplaySportsCarDetails(ByVal theCar As SportsCar)&lt;br /&gt;
        &amp;quot;Display the details of the sports car&lt;br /&gt;
        Console.WriteLine()&lt;br /&gt;
        Console.WriteLine(&amp;quot;Sports Car Horsepower: &amp;quot; &amp;amp; theCar.HorsePower)&lt;br /&gt;
        Console.WriteLine(&amp;quot;Sports Car Weight: &amp;quot; &amp;amp; theCar.Weight)&lt;br /&gt;
        Console.WriteLine(&amp;quot;Power to Weight Ratio: &amp;quot; &amp;amp; theCar.GetPowerToWeightRatio)&lt;br /&gt;
    End Sub&lt;br /&gt;
End Module&lt;br /&gt;
    Public Class Car&lt;br /&gt;
        Implements IDisposable&lt;br /&gt;
        Public Color As String&lt;br /&gt;
        Public HorsePower As Integer&lt;br /&gt;
        Private _speed As Integer&lt;br /&gt;
        Private _numberOfDoors As Integer&lt;br /&gt;
        Public ReadOnly Property Speed() As Integer&lt;br /&gt;
            Get&lt;br /&gt;
                Return _speed&lt;br /&gt;
            End Get&lt;br /&gt;
        End Property&lt;br /&gt;
        Public Sub Accelerate(ByVal accelerateBy As Integer)&lt;br /&gt;
            _speed += accelerateBy&lt;br /&gt;
        End Sub&lt;br /&gt;
        Public Property NumberOfDoors() As Integer&lt;br /&gt;
            Get&lt;br /&gt;
                Return _numberOfDoors&lt;br /&gt;
            End Get&lt;br /&gt;
            Set(ByVal value As Integer)&lt;br /&gt;
                If value &amp;gt;= 2 And value &amp;lt;= 5 Then&lt;br /&gt;
                    _numberOfDoors = value&lt;br /&gt;
                End If&lt;br /&gt;
            End Set&lt;br /&gt;
        End Property&lt;br /&gt;
        Public Function IsMoving() As Boolean&lt;br /&gt;
            If Speed = 0 Then&lt;br /&gt;
                Return False&lt;br /&gt;
            Else&lt;br /&gt;
                Return True&lt;br /&gt;
            End If&lt;br /&gt;
        End Function&lt;br /&gt;
        Public Sub New()&lt;br /&gt;
            Color = &amp;quot;White&amp;quot;&lt;br /&gt;
            _speed = 0&lt;br /&gt;
            _numberOfDoors = 5&lt;br /&gt;
        End Sub&lt;br /&gt;
        Public Overridable Function CalculateAccelerationRate() As Double&lt;br /&gt;
            Return 4.2&lt;br /&gt;
        End Function&lt;br /&gt;
        Private disposed As Boolean = False&lt;br /&gt;
        &amp;quot; IDisposable&lt;br /&gt;
        Private Overloads Sub Dispose(ByVal disposing As Boolean)&lt;br /&gt;
            If Not Me.disposed Then&lt;br /&gt;
                If disposing Then&lt;br /&gt;
                    &amp;quot; TODO: put code to dispose managed resources&lt;br /&gt;
                End If&lt;br /&gt;
                &amp;quot; TODO: put code to free unmanaged resources here&lt;br /&gt;
            End If&lt;br /&gt;
            Me.disposed = True&lt;br /&gt;
        End Sub&lt;br /&gt;
#Region &amp;quot; IDisposable Support &amp;quot;&lt;br /&gt;
        &amp;quot; This code added by Visual Basic to correctly implement the disposable pattern.&lt;br /&gt;
        Public Overloads Sub Dispose() Implements IDisposable.Dispose&lt;br /&gt;
            &amp;quot; Do not change this code.  Put cleanup code in Dispose(ByVal disposing As Boolean) above.&lt;br /&gt;
            Dispose(True)&lt;br /&gt;
            GC.SuppressFinalize(Me)&lt;br /&gt;
        End Sub&lt;br /&gt;
        Protected Overrides Sub Finalize()&lt;br /&gt;
            &amp;quot; Do not change this code.  Put cleanup code in Dispose(ByVal disposing As Boolean) above.&lt;br /&gt;
            Dispose(False)&lt;br /&gt;
            MyBase.Finalize()&lt;br /&gt;
        End Sub&lt;br /&gt;
#End Region&lt;br /&gt;
    End Class&lt;br /&gt;
&lt;br /&gt;
Public Class SportsCar&lt;br /&gt;
    Inherits Car&lt;br /&gt;
    Public Weight As Integer&lt;br /&gt;
    Public Function GetPowerToWeightRatio() As Double&lt;br /&gt;
        Return CType(HorsePower, Double) / CType(Weight, Double)&lt;br /&gt;
    End Function&lt;br /&gt;
    Public Sub New()&lt;br /&gt;
        &amp;quot;Change the default values&lt;br /&gt;
        Color = &amp;quot;Green&amp;quot;&lt;br /&gt;
        NumberOfDoors = 2&lt;br /&gt;
    End Sub&lt;br /&gt;
    Public Overrides Function CalculateAccelerationRate() As Double&lt;br /&gt;
        &amp;quot;You&amp;quot;ll assume the same 4.2 value, but you&amp;quot;ll multiply it&lt;br /&gt;
        &amp;quot;by the power/weight ratio&lt;br /&gt;
        Return 4.2 * GetPowerToWeightRatio()&lt;br /&gt;
    End Function&lt;br /&gt;
End Class&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Construct Class by Class Combination==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;vbnet&amp;quot;&amp;gt;&lt;br /&gt;
Imports System&lt;br /&gt;
Public Class MainClass&lt;br /&gt;
    Shared Sub Main(ByVal args As String())&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&lt;br /&gt;
End Class&lt;br /&gt;
&amp;quot; Circle class that inherits from class Point.&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;
   &amp;quot; default constructor&lt;br /&gt;
   Public Sub New()&lt;br /&gt;
      &amp;quot; implicit call to Point constructor occurs here&lt;br /&gt;
      Radius = 0&lt;br /&gt;
   End Sub &amp;quot; New&lt;br /&gt;
   &amp;quot; constructor&lt;br /&gt;
   Public Sub New(ByVal xValue As Integer, _&lt;br /&gt;
      ByVal yValue As Integer, ByVal radiusValue As Double)&lt;br /&gt;
      &amp;quot; implicit call to Point constructor occurs here&lt;br /&gt;
      X = xValue&lt;br /&gt;
      Y = yValue&lt;br /&gt;
      Radius = radiusValue&lt;br /&gt;
   End Sub &amp;quot; New&lt;br /&gt;
   &amp;quot; property Radius&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;
   &amp;quot; calculate Circle diameter&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 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; X &amp;amp; &amp;quot;, &amp;quot; &amp;amp; Y &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;quot; Circle&lt;br /&gt;
&amp;quot; Point class represents an x-y coordinate pair.&lt;br /&gt;
Public Class Point&lt;br /&gt;
   &amp;quot; implicitly Inherits Object&lt;br /&gt;
   &amp;quot; point coordinate&lt;br /&gt;
   Private mX, mY As Integer&lt;br /&gt;
   &amp;quot; default constructor&lt;br /&gt;
   Public Sub New()&lt;br /&gt;
      &amp;quot; implicit call to Object constructor occurs here&lt;br /&gt;
      X = 0&lt;br /&gt;
      Y = 0&lt;br /&gt;
   End Sub &amp;quot; New&lt;br /&gt;
   &amp;quot; constructor&lt;br /&gt;
   Public Sub New(ByVal xValue As Integer, _&lt;br /&gt;
      ByVal yValue As Integer)&lt;br /&gt;
      &amp;quot; implicit call to Object constructor occurs here&lt;br /&gt;
      X = xValue&lt;br /&gt;
      Y = yValue&lt;br /&gt;
   End Sub &amp;quot; New&lt;br /&gt;
   &amp;quot; property X&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 value As Integer)&lt;br /&gt;
         mX = value&lt;br /&gt;
      End Set&lt;br /&gt;
   End Property &amp;quot; X&lt;br /&gt;
   &amp;quot; property Y &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 value As Integer)&lt;br /&gt;
         mY = value&lt;br /&gt;
      End Set&lt;br /&gt;
   End Property &amp;quot; Y&lt;br /&gt;
   &amp;quot; return String representation of Point&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;quot; Point&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Four Level Hierachy==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;vbnet&amp;quot;&amp;gt;&lt;br /&gt;
Imports System&lt;br /&gt;
Public Class MainClass&lt;br /&gt;
    &lt;br /&gt;
    Shared Sub Main(ByVal args As String())&lt;br /&gt;
      Dim point As New Point(7, 11)&lt;br /&gt;
      Dim circle As New Circle(22, 8, 3.5)&lt;br /&gt;
      Dim cylinder As New Cylinder(10, 10, 3.3, 10)&lt;br /&gt;
      Dim arrayOfShapes As IShape() = New IShape(2) {}&lt;br /&gt;
      arrayOfShapes(0) = point&lt;br /&gt;
      arrayOfShapes(1) = circle&lt;br /&gt;
      arrayOfShapes(2) = cylinder&lt;br /&gt;
      Console.WriteLine( point.Name &amp;amp; &amp;quot;: &amp;quot; &amp;amp; _&lt;br /&gt;
         point.ToString() &amp;amp; vbCrLf &amp;amp; circle.Name &amp;amp; &amp;quot;: &amp;quot; &amp;amp; _&lt;br /&gt;
         circle.ToString() &amp;amp; vbCrLf &amp;amp; cylinder.Name &amp;amp; _&lt;br /&gt;
         &amp;quot;: &amp;quot; &amp;amp; cylinder.ToString() )&lt;br /&gt;
      Dim shape As IShape&lt;br /&gt;
      For Each shape In arrayOfShapes&lt;br /&gt;
         Console.WriteLine(shape.Name &amp;amp; &amp;quot;: &amp;quot; &amp;amp; &amp;quot;Area = &amp;quot; &amp;amp; _&lt;br /&gt;
            String.Format(&amp;quot;{0:F}&amp;quot;, shape.Area()) &amp;amp; _&lt;br /&gt;
            &amp;quot;Volume = &amp;quot; &amp;amp; String.Format(&amp;quot;{0:F}&amp;quot;, shape.Volume()) )&lt;br /&gt;
      Next&lt;br /&gt;
    End Sub&lt;br /&gt;
End Class&lt;br /&gt;
Public Interface IShape&lt;br /&gt;
   Function Area() As Double&lt;br /&gt;
   Function Volume() As Double&lt;br /&gt;
   ReadOnly Property Name() As String&lt;br /&gt;
End Interface&lt;br /&gt;
Public Class Point&lt;br /&gt;
   Implements IShape&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;
   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&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&lt;br /&gt;
      End Set&lt;br /&gt;
   End Property&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&lt;br /&gt;
      End Set&lt;br /&gt;
   End Property&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;
   Public Overridable Function Area() As Double _&lt;br /&gt;
      Implements IShape.Area&lt;br /&gt;
      Return 0&lt;br /&gt;
   End Function&lt;br /&gt;
   &lt;br /&gt;
   Public Overridable Function Volume() As Double _&lt;br /&gt;
      Implements IShape.Volume&lt;br /&gt;
   Return 0&lt;br /&gt;
   End Function&lt;br /&gt;
   Public Overridable ReadOnly Property Name() As String _&lt;br /&gt;
      Implements IShape.Name&lt;br /&gt;
      Get&lt;br /&gt;
         Return &amp;quot;Point&amp;quot;&lt;br /&gt;
      End Get&lt;br /&gt;
   End Property&lt;br /&gt;
End Class &lt;br /&gt;
&lt;br /&gt;
Public Class Circle&lt;br /&gt;
   Inherits Point&lt;br /&gt;
   Private mRadius As Double&lt;br /&gt;
   Public Sub New()&lt;br /&gt;
      Radius = 0&lt;br /&gt;
   End Sub&lt;br /&gt;
   Public Sub New(ByVal xValue As Integer, _&lt;br /&gt;
      ByVal yValue As Integer, ByVal radiusValue As Double)&lt;br /&gt;
      MyBase.New(xValue, yValue)&lt;br /&gt;
      Radius = radiusValue&lt;br /&gt;
   End Sub&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&lt;br /&gt;
   Public Function Diameter() As Double&lt;br /&gt;
      Return mRadius * 2&lt;br /&gt;
   End Function&lt;br /&gt;
   Public Function Circumference() As Double&lt;br /&gt;
      Return Math.PI * Diameter()&lt;br /&gt;
   End Function&lt;br /&gt;
   Public Overrides Function Area() As Double&lt;br /&gt;
      Return Math.PI * mRadius ^ 2&lt;br /&gt;
   End Function&lt;br /&gt;
   Public Overrides ReadOnly Property Name() As String&lt;br /&gt;
      Get&lt;br /&gt;
         Return &amp;quot;Circle&amp;quot;&lt;br /&gt;
      End Get&lt;br /&gt;
   End Property&lt;br /&gt;
   Public Overrides Function ToString() As String&lt;br /&gt;
      Return &amp;quot;Center = &amp;quot; &amp;amp; MyBase.ToString() &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&lt;br /&gt;
&lt;br /&gt;
Public Class Cylinder&lt;br /&gt;
   Inherits Circle &lt;br /&gt;
   &lt;br /&gt;
   Private mHeight As Double&lt;br /&gt;
   Public Sub New()&lt;br /&gt;
      Height = 0&lt;br /&gt;
   End Sub&lt;br /&gt;
   Public Sub New(ByVal xValue As Integer, _&lt;br /&gt;
      ByVal yValue As Integer, ByVal radiusValue As Double, _&lt;br /&gt;
      ByVal heightValue As Double)&lt;br /&gt;
      MyBase.New(xValue, yValue, radiusValue)&lt;br /&gt;
      Height = heightValue&lt;br /&gt;
   End Sub&lt;br /&gt;
   Public Property Height() As Double&lt;br /&gt;
      Get&lt;br /&gt;
         Return mHeight&lt;br /&gt;
      End Get&lt;br /&gt;
      Set(ByVal heightValue As Double)&lt;br /&gt;
         If heightValue &amp;gt;= 0 Then&lt;br /&gt;
            mHeight = heightValue&lt;br /&gt;
         End If&lt;br /&gt;
      End Set&lt;br /&gt;
   End Property&lt;br /&gt;
   Public Overrides Function Area() As Double&lt;br /&gt;
      Return 2 * MyBase.Area + MyBase.Circumference * mHeight&lt;br /&gt;
   End Function&lt;br /&gt;
   Public Overrides Function Volume() As Double&lt;br /&gt;
      Return MyBase.Area * mHeight&lt;br /&gt;
   End Function &lt;br /&gt;
   Public Overrides Function ToString() As String&lt;br /&gt;
      Return MyBase.ToString() &amp;amp; &amp;quot;; Height = &amp;quot; &amp;amp; mHeight&lt;br /&gt;
   End Function &amp;quot; ToString&lt;br /&gt;
   Public Overrides ReadOnly Property Name() As String&lt;br /&gt;
      Get&lt;br /&gt;
         Return &amp;quot;Cylinder&amp;quot;&lt;br /&gt;
      End Get&lt;br /&gt;
   End Property &lt;br /&gt;
End Class&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	</feed>