domingo, 18 de octubre de 2015

unidad 4


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.
6.       En el cuadro de diálogo Guardar proyecto, hacemos clic en Guardar.

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