CLASES
Una
clase es el conjunto de especificaciones o normas que definen cómo va a ser
creado un objeto de un tipo determinado; algo parecido a un manual de
instrucciones conteniendo las indicaciones para crear el objeto.
Para aclarar los conceptos diremos que una clase constituye la
representación abstracta de algo, mientras que un objeto constituye la
representación concreta de lo que una clase define. Un ejemplo sería un molde
para crear figuras geométricas y las figuras obtenidas del molde sería un
objeto, entonces el molde es la clase y la figura es el objeto.
Una de las mejores razones para utilizar clases es que una vez que ha
creado una clase para cierto tipo de objeto, se puede reutilizar esa clase en
cualquier proyecto.
Por ejemplo, muchos de los programas que escribimos pueden involucrar
personas: Un programa de administrador de contactos para los contactos
comerciales o un programa para realizar un seguimiento de empleados. Aunque los
programas pueden ser considerablemente diferentes, los atributos que se aplican
a cada persona serían los mismos. Todas tienen nombre, edad, dirección, número
de teléfono, etc.
OBJETO
Un objeto es una agrupación de código, compuesta de propiedades y
métodos, que pueden ser manipulados como una entidad independiente. Las
propiedades definen los datos o información del objeto, permitiendo consultar o
modificar su estado; mientras que los métodos son las rutinas que definen su
comportamiento.
Para empezar a ver mejor crear clases y usarlas crearemos una clase que
represente a una persona; Podemos
guardar esta clase y utilizarla en otros programas que escribamos en el futuro.
CREACIÓN DE CLASES:
Para crear una clase en Visual Basic .NET se
debe de utilizar la palabra reservada Class
… End Class seguido del nombre de la clase. Asi:
INSTANCIAR UNA CLASE
U OBJETO
Instancia de una clase es el proceso por el cual se obtiene un objeto a
partir de las especificaciones de una clase se conoce como instanciación de
objetos. Cuando se instancia o crea una instancia de una clase, lo que se hace
es reservar una porción determinada de memoria en la que se almacenarán los
datos, y las direcciones de memoria de sus métodos.
Ahora vamos a crear la instancia
de la clase alumnos desde el código principal.
Un espacio de nombres es un contenedor lógico de código, que
nos permite organizar de un modo más óptimo, las clases dentro de un proyecto o
ensamblado. Se utiliza para declarar un ámbito que contiene un conjunto de
objetos relacionados. Para crear un namespace
Debido a que hemos creado una
clase dentro de un nuevo espacio de nombres definido en el código, dicho
espacio de nombres queda anidado dentro del espacio de nombres raíz del
ensamblado. Para instanciar objetos de una clase escrita en un espacio de
nombres de esta forma, en primer lugar, debemos importar dicho espacio de
nombres en la cabecera del fichero de código, utilizando la palabra clave Imports, como se muestra a
continuación:
Si no utilizamos Imports, también podemos instanciar
objetos de clases halladas en espacios de nombres distintos, utilizando en este
caso la sintaxis calificada, es decir, escribimos en primer lugar el espacio de
nombres, un punto y la clase. El inconveniente de esta forma de codificación,
reside en que cada vez que declaremos e instanciemos un objeto tenemos que
emplear esta sintaxis calificada, por lo cual, es mucho más cómodo importar el
espacio de nombres al comienzo del fichero.
Los ejemplos anteriores te
muestran la creación de clases y objetos en ambiente consola, para realizar los
mismos ejemplos en ambiente Windows Form, haz lo siguiente:
1. Una vez en Visual Studio
da Clic en Nuevo Proyecto
2. En la opción Visual
Basic----Windows, Selecciona Biblioteca
de Clases y asigna el nombre de: ClasePersona al proyecto y damos clic
en Aceptar
3. En el explorador de
soluciones observaremos la clase recién creada, le cambiaremos nombre a Persona (se muestra en la imagen
siguiente):
4.
Da doble
clic sobre la clase que ahora se llama Persona
para mostrar el editor de código. (En un proyecto de este tipo no veremos
un formulario, solo el archivo de módulo para codificar) se mostrará el
siguiente espacio donde escribiremos el código:
5.
En el
menú Archivo, elegimos Guardar todo.
Todos
los objetos tienen atributos y las propiedades representan atributos.
Antes, hicimos la clase "Persona", que representa a una persona; las
personas tienen atributos como el nombre y la edad, por lo que la clase Persona
necesita propiedades que representen dichos atributos.
También podemos determinar cómo funciona
una propiedad utilizando los modificadores Public, ReadOnly o
WriteOnly.
Campos y procedimientos de propiedad
Los
campos son variables públicas dentro de una clase que se pueden establecer o
leer desde fuera de la clase. Resultan de utilidad para propiedades que no se
tienen que validar, por ejemplo, un valor "Boolean" (True o False).
En el caso de la clase Persona, se puede tener una propiedad Boolean denominada
casado, que especifica si una persona está soltera o casada, puesto que hay
sólo dos valores posibles. Para agregar un campo a una clase, el código podría
ser como el que sigue.
La mayoría de las propiedades, sin
embargo, son más complejas; en la mayor parte de los casos utilizaremos
procedimientos de propiedad para agregar una propiedad a una clase.
Los procedimientos de propiedad tienen tres partes:
·
Una declaración de una variable privada
para almacenar el valor de la
propiedad.
·
Un procedimiento Get que expone el valor.
·
Un procedimiento Set que, como indica su
nombre, establece el valor.
POR EJEMPLO
Por ejemplo, un procedimiento de
propiedad para una propiedad Name, de la clase Persona, podría ser como el que
sigue:
El
procedimiento de propiedad en sí comienza con Public Property y termina con End
Property. La primera línea de código
declara la propiedad Nombre de tipo String que almacenará el valor de la
propiedad primerNombre
El procedimiento Get contiene el código que se ejecutará cuando
desee leer su valor; por ejemplo, si lee la propiedad Persona.Nombre, el
código devolverá el valor almacenado en la variable primerNombre.
El procedimiento Set contiene código que se utiliza para asignar un nuevo valor a la variable primerNombre usando un valor pasado como argumento value. Por
ejemplo, si escribimos el código Persona.Nombre = "Noelia", el valor
String Noelia se pasará como argumento value; el código del procedimiento Set
lo asignará a la variable primerNombre
para su almacenamiento.
7.
Regresemos
al editor de código de la clase y agregamos el siguiente código de declaración:
A veces
una propiedad se establece una vez y no cambia nunca más durante la ejecución
del programa. Por ejemplo, una
propiedad que representa una identidad e una persona nunca debe cambiar, de
modo que otro programa si lo pueda leer, pero no se permitirá que ese programa
cambie su valor. La palabra clave ReadOnly se
utiliza para especificar que un valor de propiedad se pueda leer pero no
modificar. Para crear una propiedad de sólo
lectura, deberemos crear un procedimiento de propiedad con un procedimiento
Get, pero sin procedimiento Set; de igual forma, la palabra clave WriteOnly permite
establecer un valor de propiedad pero no permite que se lea; Para crear una
propiedad de sólo escritura, se creará una propiedad con un procedimiento Set
pero sin procedimiento Get. Antes de
definir propiedades de este tipo, crearemos un método.
No hay comentarios:
Publicar un comentario