Enhanced ComplexNumber class Learn programming Visual Basic (VB.net)

Lesson:

OOP More On Classes


Exercise:

Enhanced ComplexNumber class


Objetive:

Improve the "ComplexNumber" class, so that it overloads the operators + and - to add and subtract numbers.


Code:

Imports System
Class ComplexNumber
    Protected a, b As Double

    Public Sub New(ByVal realPart As Double, ByVal imaginaryPart As Double)
        a = realPart
        b = imaginaryPart
    End Sub

    Public Function GetReal() As Double
        Return a
    End Function

    Public Sub SetReal(ByVal a As Double)
        Me.a = a
    End Sub

    Public Function GetImaginary() As Double
        Return b
    End Function

    Public Sub SetImaginary(ByVal b As Double)
        Me.b = b
    End Sub

    Public Overloads Function ToString() As String
        Return "(" & a & "," & b & ")"
    End Function

    Public Function GetMagnitude() As Double
        Return Math.Sqrt((a * a) + (b * b))
    End Function

    Public Sub Add(ByVal c2 As ComplexNumber)
        a += c2.GetReal()
        b += c2.GetImaginary()
    End Sub
End Class

Class ComplexTest
    Private Shared Sub Main()
        Dim number As ComplexNumber = New ComplexNumber(5, 2)
        Console.WriteLine("Number is: " & number.ToString())
        number.SetImaginary(-3)
        Console.WriteLine("Number is: " & number.ToString())
        Console.Write("Magnitude is: ")
        Console.WriteLine(number.GetMagnitude())
        Dim number2 As ComplexNumber = New ComplexNumber(-1, 1)
        number.Add(number2)
        Console.Write("After adding: ")
        Console.WriteLine(number.ToString())
    End Sub
End Class

Juan A. Ripoll - Systems Tutorials and Programming Courses ©  All rights reserved.  Legal Conditions.