Catálogo + Menú Curso de Programación Visual Basic

Lección:

Más sobre Clases


Ejercicio:

Catálogo + Menú 10


Objetivo:

Mejorar el programa Catálogo, de forma que "Principal" muestre un menú que permita introducir nuevos datos de cualquier tipo, así como visualizar todos los datos almacenados.


Código:

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 debug As Boolean = False
        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())
        If debug Then Console.ReadLine()
    End Sub
End Class