Muy bien amigos…este es un nuevo post del cual hablare sobre .NET…por cierto hace uff que no he posteado algo …xD pero bueno siempre regresamos..a lo k ibamos..hoy hablare en modo puntual sobre las clases en visual basic 2008
Creacion de clases:
Una clase es una representación abstracta de algo particular de un objeto por ejemplo..tenemos a la clase Persona lo cual representaria lo abstracto y un objeto vendria a ser las creaciones que se dan deacuerdo a la clase o tmb llamada plantilla, por ejemplo.. los objetos: “Luis,Carlos,Julio, Tania,etc”
En resumen…una clase es una plantilla de la cual se crean objetos.
En VB.NET las clases se crean con la palabra clave Class
Public Class Person
End Class
Campos:
Los campos son las variables declaradas en la clase que estaran disponibles para cada uno de los objetos individuales, cuando se ejecute en la aplicacion.
Crearemos los siguientes campos en la clase:
Public Class Person
Private nombre As String ‘campos
Private fechaCumple As Date ‘campos
End Class
Se puede controlar el ambito de las variables o tambien llamado alcance de los campos usando las siguientes palabras claves:
- private.-disponible unicamente para el codigo de la clase
- friend.-disponible unicamente para el codigo del proyecto o componente
- protected.-disponible solo para las clases que heredan de la clase
- protected friend.-disponible para codificar dentro de su proyecto/componente y en las clases que heredan de otra clase, esten o no el el proyecto.
- public.-disponible para codificar fuera de la clase y para cualquier proyecto que referencie al ensamblado
Metodos:
Son aquellos que nos proporcionan servicios(o funciones) que se pueden invocar para poder trabajar con el objeto creado. Utilizando sus propios datos o datos pasados como parametros al metodo, se manipula informacion para conseguir resultado o para llevar a cabo una funcion.
En visual basic, los metodos se implementan utilizando rutinas Sub o Function dentro del modulo de clase que define el objeto. Las rutinas Sub aceptan parametros, pero no devuelven ningun valor como resultado cuando terminan su ejecucion. Las rutinas Function pueden aceptar parametros y siempre generan un valor como resultado, que se puede usar por el codigo llamante.
Para declarar un metodo Sub:
Public Sub walk()
‘aqui va la implementacion del codigo….
End Sub
Para que se pueda usar este metodo tendriamos que crear un objeto de la siguiente manera:
Dim objeto As New Person()
objeto.walk()
Metodos que devuelven valores:
En este tipo de casos se suele usar la palabra clave Function .En este caso crearemos un metodo que devuelve la edad de una persona y tambien para poder implementarlo es necesario indicar el tipo de valor devuelto(en este caso de tipo Integer) cuando se declara dicha funcion. La palabra return devolvemos cualquier valor del tipo de datos adecuado.
Public Function Edad() As Integer
Return CInt(DateDiff(DateInterval.Year, fechaCumple, Now))
End Function
Y para poder usarlo…
Dim objeto As New Person()
Dim objetoEdad As Integer
objetoEdad = objeto.Edad
Parametros del metodo:
Asi mismo a un metodo tambien es posible enviarle informacion en el momento de la llamada. Esto se puede dar mediante parametros.
En este casi podemos crear una clase Person que implementa un metodo Walk que indique la distancia que la persona anda en el tiempo. Entonces tenemos que ponerle como parametro al metodo una variable que indique la distancia que recorre cada vez que se le llama al metodo.
Public Class Person
Private nombre As String ‘campos
Private fechaCumple As Date ‘campos
Private distanciaTotal As Integer
Public Sub walk(ByVal distancia As Integer)
distanciaTotal += distancia
End Sub
Public Function Edad() As Integer
Return CInt(DateDiff(DateInterval.Year, fechaCumple, Now))
End Function
End Class
Asi cuando querramos usar el metodo le indicamos el parametro siendo del mismo tipo de dato indicado en el metodo de la clase.
Dim distancia As Integer
distancia = 12
Dim objeto As New Person()
objeto.walk(distancia)
Nota: La palabra clave ByVal me indica que el valor del parametro es una copia del valor original. Significa que este valor siempre se mantendra en todo la implementacion del metodo.
Propiedades:
Una propiedad es un metodo que esta especificamente diseñado para establecer y obtener los valores de los datos. Para poder usarlo podriamos usar la palabra clave Property que consolida el establecimiento y recuperacion de un valor del campo de la clase.
Se declara asi…:
Public Class Person
Private nombre As String ‘campos
Public Property Pnombre() As String
Get
Return nombre
End Get
Set(ByVal value As String)
nombre = value
End Set
End Property
End Class
Con la palabra clave Set asignamos el valor del campo y con la palabra clave obtenemos el valor.
Ahora podemos usar este metodo de la siguiente manera:
Dim objeto As New Person()
objeto.Pnombre = “Joel”
MsgBox(objeto.Pnombre)
Asi por ejemplo en la linea objeto.Pnombre = “Joel” lo que hacemos es asignar el valor, en este modo pues usamos Set y con MsgBox(objeto.Pnombre) enviamos un mensaje pues en este caso usamos Get.
Propiedades parametrizadas:
Este tipo de propiedades reflejan un rango o una matriz de valores. Por ejemplo podemos implementar una propiedad NumeroTelefono como una propiedad parametrizada pues una persona puede tener varios numeros telefonicos y asi mismo una descripcion de cada uno de ellos.
Public Class Person
Private nombre As String ‘campos
Private fechaCumple As Date ‘campos
Private distanciaTotal As Integer
Private telefonos As New Hashtable
Public Property Phonos(ByVal localizacion As String) As String
Get
Return CStr(telefonos.Item(localizacion))
End Get
Set(ByVal value As String)
If telefonos.ContainsKey(localizacion) Then
telefonos.Item(localizacion) = value
Else
telefonos.Add(localizacion, value)
End If
End Set
End Property
End Class
En el bloque Set usamos localizacion para actualizar o añadir el elemento adecuado en la HashTable. En este caso se esta usando el metodo ContainsKey de la HashTable, para determinar si el numero de telefono ya existe en la lista. Si existe, simplemente actualizamos el valor de la lista. Si no, se tiene que añadir un nuevo elemento a la lista para ese valor.
RSS Feed
Twitter
May 12th, 2010
admin
Posted in
Innovations are always welcome, I believe that this information deserve to be discussed more thoroughly.