Ver Mensaje Individual
  #1 (permalink)  
Antiguo 07/10/2010, 08:38
Avatar de MicroHack
MicroHack
 
Fecha de Ingreso: agosto-2006
Ubicación: Barcelona
Mensajes: 153
Antigüedad: 17 años, 8 meses
Puntos: 0
Información Problema ejecucion clase

Buenas,

tengo que realizar un ejercicio donde se me pide calcular el volumen de una esfera con la siguiente formula:

volumen esfera = 4/3 * (pi*radio^3)

El caso es que el ejercicio solicita que se haga uso de una clase para ello.

Y es justo lo que he hecho, escribir una clase con los metodos en un archivo, y en otro el modulo que ejecuta dicha clase con el dato del radio.

Clase del programa:

Código:
Public Class Esfera

    'Atributos
    Public radio As Double
    Public volumen As Double

    Public Sub New()
    End Sub

    Public Sub New(ByVal rad As Double)
        LeerRadio(rad)
    End Sub

    Public Sub LeerRadio(ByVal rad As Double)
        If rad <= 0 Then
            Console.WriteLine("El valor no puede ser negativo ni 0")
        Else
            radio = rad
        End If
    End Sub

    Public Function calcular()
        Return (4.0 / 3.0) * Math.PI * radio * radio * radio
    End Function
End Class
Modulo principal:

Código:
Module Module1
    Public Sub Main()
        Dim radio As Esfera = New Esfera()
        Dim volumen As Esfera = New Esfera()

        radio.LeerRadio(25)

        System.Console.WriteLine("Volumen: " & volumen.calcular)
    End Sub

End Module
El problema que tengo es que al ejecutar dicho programa el resultado que me da es 0, indiferentemente del radio que ponga (en este caso 25)

¿Que es lo que estoy haciendo mal?