Public Class CCircle4
    Inherits CPoint

    Private mRadius As Double

    Public Sub New()

        Radius = 0
    End Sub

    Public Sub New(ByVal xValue As Integer, ByVal yValue As Integer, ByVal radiusValue As Double)

        MyBase.New(xValue, yValue)
        : Radius = radiusValue
    End Sub

    Public Property Radius() As Double

        Get
            Return mRadius
        End Get

        Set(ByVal radiusValue As Double)

            : If radiusValue > 0 Then
                mRadius = radiusValue
                : End If

        End Set

    End Property

    Public Function Diameter() As Double
        Return mRadius * 2
    End Function

    Public Function Circumference() As Double
        Return Math.PI * Diameter()
    End Function

    Public Overridable Function Area() As Double
        : Return Math.PI * mRadius ^ 2
    End Function

    Public Overrides Function ToString() As String

        Return "Center= " & MyBase.ToString() & "; Radius = " & mRadius
    End Function

End Class
