Creación de clases en VB.Net y C#
Explicación de la creación de clases y objetos en los dos principales lenguajes de la plataforma .Net.
10/12/03 - Para explicar la creación de clases usaremos un ejemplo sencillo basado en una clase principal "bicicleta".
Para crear una clase debemos definir sus propiedades y sus métodos, en este ejemplo se usan los siguientes términos como propiedades de la clase bicicleta: Modelo, Precio, NumeroDeVelocidades y Velocidad; como métodos de la clase se usan: Acelerar(km) , Frenar() y ConsultarVelocidad().
| VB.NET |
Public Class Bicicleta
Public Modelo as String
Public Precio as Double
Public NumeroDeVelocidades as Integer
Private Velocidad as Integer
Public Sub Acelerar(ByVal km As Integer)
Velocidad = Velocidad + km
End Sub
Public Sub Frenar()
If Velocidad > 0 Then
Velocidad = Velocidad -1
End If
End Sub
Public Function ConsutarVelocidad() As Integer
Return Velocidad
End Function
End Class
|
| C# |
Class Bicicleta
{
public string Modelo;
public double Precio;
public int NumeroDeVelocidades
private int Velocidad
public void Acelerar(int km)
{
Velocidad = Velocidad + km;
}
public void Frenar()
{
if (Velocidad > 0)
{
Velocidad = Velocidad - 1;
}
}
public int ConsultarVelocidad()
{
return Velocidad;
}
}
|
Nuestra clase bicicleta consta de varias propiedades y métodos, las palabras Private y Public definen la accesibilidad de las propiedades, funciones o subrutinas. La definición de una propiedad o método de tipo privado indica que sólo podrá ser usada dentro del código de la misma clase, si creásemos un objeto de tipo bicicleta, las especificaciones de la clase no nos permitirían acceder a la propiedad velocidad para consultarla o modificarla, ya que esta definida como privada. En cambio se pueden usar las subrutinas Acelerar() y Frenar() ya que son de tipo Public, y desde dentro de ellas se interactua con las propiedades privadas, con esto conseguimos encapsular el código y hacer accesible solo aquello que queramos.
Una vez está construida la clase ya se pueden instanciar objetos de la misma.
| VB.NET |
Dim objBicicleta as Bicicleta = New Bicicleta
Dim VelocidadActual as Integer
objBicileta.Modelo = "Montaña"
objBicicleta.Precio = 200
objBicicleta.NumeroDeVelocidades = 21
objBicicleta.Acelerar(5)
objBicicleta.Frenar()
VelocidadActual = objBicicleta.ConsultarVelocidad
|
| C# |
Bicicleta objBicicleta = new Bicicleta();
int VelocidadActual;
objBicicleta.Modelo = "Montaña";
objBicicleta.Precio = 200;
objBicicleta.NumeroDeVelocidades = 21;
objBicicleta.Acelerar(5);
objBicicleta.Frenar();
VelocidadActual = objBicicleta.ConsultarVelocidad();
|
Tras la creación del objeto objBicicleta a partir de la clase, se pueden modificar los valores de las propiedades de tipo Public, y llamar a los métodos de tipo Public.
En el ejemplo se llama a los métodos Acelerar(5), pasándole el numero de km que queremos acelerar a través del parámetro "km" que está definido en la subrutina.
Luego se llama al método Frenar() que decrementa en una unidad el valor de la propiedad Velocidad.
Por último se usa la función ConsultarVelocidad(), que retorna el valor de la propiedad Velocidad para introducirlo en la variable VelocidadActual.
Seguir navegando a partir aquí:
+ 1 manual relacionado
+ 1 categoria relacionada
+ 6 comentarios (Añadir)
+ 7 comentarios no revisados
| Autoría, licencia y acciones sobre este artículo |
|
|
Manuales relacionados con este artículo
Categorias relacionadas
A través de las categorías de nuestro directorio se pueden encontrar otro tipo de recursos relacionados con este artículo:
+ Entrar en
.NET
Comentarios de los visitantes
|
Los comentarios de los visitantes son para ampliar la información del artículo. Cualquiera puede participar.
|
| Se muestran 6 comentarios revisados |
Comentario de Marcos
04/1/04
Existe un error en el código, si lo que se pretente es acelerar una cantidad de Km determinados.
El método Acelerar incrementa en 1 la velocidad, no en Km Kilómetros, como indica la explicación.
El método Acelerar quedaría, para incrementar la aceleración en la cantidad pasada como parámetro:
Public Sub Acelerar(ByVal km As Integer)
Velocidad = Velocidad + km
End Sub
CORREGIDO! Muchas gracias por tu ayuda.
Comentario de Arcadio
07/4/04
Faltaría dar un valor inicial a velocidad para poder llamar a los métodos y que devuelvan un resultado consistente
Comentario de Moisés
05/11/04
Por la construcción de C# (no soy especialista en VB) de la clase Bicicleta, es necesario añadir un método que permita escribir un valor para el atributo Velocidad tomando en cuenta que es privado o también considerar una inicialización del mismo a través de un constructor de la clase, pero de la forma en que se propone Velocidad no tiene valor inicial deseado y el usuario no lo puede inicializar desde el programa por la encapsulación concebida
Comentario de Airis
26/9/05
Una de las cosas que no entiendo es cómo se puede dar una explicacion tan infantil de las clases. Vale que en C++ sean asi pero en VB.NEt ni se parecen. A ver, en VB.NET hay un amnipulador de eentos y las clases tienen que soportar estos eventos... Donde esta la explicacion de esto??
Comentario de isaac arevalo
23/3/06
hola a todos no soy experto en C# pero en el ejemplo de la clase es evidente que falta una variable ke inicialize el valor ke tendra la velocidad en este caso sera 0
Comentario de Juan Felipe
24/11/06
Bueno, como aporte a este ejemplo quiero decir que más que encontrarle errores al codigo en cuanto a la logica se refiere, lo que el ejemplo quiere mostrar es la forma de utilizar clases en .Net, sin importar la clase de codigo que utilicemos, me parece un sencillo pero util ejemplo de como implementar clases en .Net
| Comentarios sin revisar |
|
Entre los comentarios no revisados puede haber algunos interesantes que se hayan enviado recientemente.
|
Se han encontrado 7 comentarios sin revisar
Ir arriba