Punto 3D Curso de Programación Visual Basic

Lección:

Más sobre Clases


Ejercicio:

Punto 3D 8


Objetivo:

Cree una clase "Point3D", para representar un punto en el espacio 3D, con coordenadas X, Y y Z. Debe contener los siguientes métodos:

MoveTo, que cambiará las coordenadas en las que se encuentra el punto.
DistanceTo(Point3D p2), para calcular la distancia a otro punto.
ToString, que devolverá una cadena similar a "(2,-7,0)"
Y, por supuesto, getters y setters.

El programa de prueba debe crear una matriz de 5 puntos, obtener datos para ellos y calcular (y mostrar) la distancia desde el primer punto hasta los cuatro restantes.


Código:

Imports System
Class Point3D
    Protected x, y, z As Double

    Public Sub New()
    End Sub

    Public Sub New(ByVal nx As Double, ByVal ny As Double, ByVal nz As Double)
        MoveTo(nx, ny, nz)
    End Sub

    Public Function GetX() As Double
        Return x
    End Function

    Public Sub SetX(ByVal value As Double)
        x = value
    End Sub

    Public Function GetY() As Double
        Return y
    End Function

    Public Sub SetY(ByVal value As Double)
        y = value
    End Sub

    Public Function GetZ() As Double
        Return z
    End Function

    Public Sub SetZ(ByVal value As Double)
        z = value
    End Sub

    Public Sub MoveTo(ByVal nx As Double, ByVal ny As Double, ByVal nz As Double)
        x = nx
        y = ny
        z = nz
    End Sub

    Public Function DistanceTo(ByVal p2 As Point3D) As Double
        Return Math.Sqrt((x - p2.GetX()) * (x - p2.GetX()) + (y - p2.GetY()) * (y - p2.GetY()) + (z - p2.GetZ()) * (z - p2.GetZ()))
    End Function
End Class