Sie sind auf Seite 1von 12

Unidad 7.

Las clases (I)


7.1. Objetivos del tema.
Hemos visto los componentes de un programa, hemos ido nombrndolos de dentro
hacia fuera, es decir

Dato
Variable
Expresin
Instruccin
Estructuras
Procedimientos y funciones.

Nos queda ver el o un elemento que contiene a todos estos, que es la clase.
La clase es el elemento estructural que aglutina todos los anteriores y permite que
expresemos nuestros programas.
La clase est a su vez utilizada dentro del programa.
7.2. Introduccin.
Si nuestro estilo de programacin no contempla, comparte, o lo que cada uno desee, el
uso de clases y objetos, el escalafn acaba con los procedimientos y funciones, y estos
se utilizan directamente dentro del programa.
Ni uno es malo, ni el otro es perfecto, son sistemas, estilos y filosofas distintas, pero no
se puede negar que el uso de clases es positivo dentro de la programacin.
En la actualidad el tipo de programacin que se realiza es lo que denominamos, P. O.
O., programacin orientada a objetos.
Dicho de otra forma, la materia explicada en temas anteriores, se colocan en el interior
de lo que denominamos clases, con las que crearemos los objetos.
Un objeto es un elemento derivado de una clase.
La clase es un elemento estructural en un programa que dispone de

Propiedades

que al fin y al cabo son datos, vistos anteriormente.

Mtodos
que son procedimientos y funciones, en cuyo interior tenemos
las estructuras bsicas de programacin vistos en el tema cinco y en el tema anterior.
Eventos

que se construyen tambin mediante cdigo.

7.3. Clase.
En programacin, un objeto es un ente que es capaz de realizar tareas y reaccionar
ante aquello que tiene a su alrededor, ante los eventos que lo rodean, sea un partido
de ftbol, una pelcula, una sensacin, y al que dotamos de una serie de
caractersticas, alto, bajo, grande pequeo y que se definen cuando creamos el objeto
y que podemos dejar que quien vaya a utilizarlo los pueda modificar, pero siempre bajo
nuestro control, claro, para eso el objeto lo hemos creado nosotros.

Como lo que no se hace en informtica es crear varias veces lo mismo, las clases las
escribimos una sola vez, y lo que se hace es crear algo as como un molde con el que
luego vamos haciendo copias.

Para profesionalizar la parrafada de antes, al molde se le llama clase, y a esa clase le


dotamos de una fisonoma, caracterstica, a los elementos que describen esa
fisonoma, lo llamamos propiedades.
Las tareas que queramos que sea capaz de realizar las denominamos mtodos.
Y a la capacidad de reaccionar a los estmulos exteriores lo llamamos eventos.
7.4. Propiedades.
Un ejemplo muy cercano, el ser humano, si deseamos crear una clase que imite al ser
humano le podramos crear una serie de caractersticas, propiedades, como

Sexo
Altura
Color del pelo
Color de los ojos

Por lo tanto las propiedades describen el objeto.


Podemos crear caractersticas internas, que no se podrn utilizar fuera del objeto, y
otras que sern externas y que s que se vern en el objeto y podrn ser modificadas lo
que permitir crear objetos de distintos tipos.

Estas caractersticas externas son las que de verdad denominamos propiedades, pues
es posible que sean modificadas por quien utiliza la clase, quien de verdad genera
despus el objeto.
Las caractersticas internas, por llamarlas as, son en realidad variables de la clase, las
propiedades tambin lo son, pero se ven por parte del usuario.
7.5. Mtodo.
Y como queremos que sea capaz de hacer cosas le ensearemos mtodos.

Caminar.
Hablar
Leer
Escribir
Correr

De sta forma, escribiendo los mtodos, es decir el lugar donde se escribe el cdigo de
nuestro programa, se le dota de capacidades ejecutivas a la clase, las capacidades que
dispondr el objeto que de ella se derive.
7.6. Eventos.
Y para que sea capaz de reaccionar ante lo que tiene a su alrededor, le dotaremos de
sentidos, que sera la forma de poder reaccionar a lo que hay a su alrededor.

Vista
Odo
Olfato
Gusto
Tacto

Con eso conseguimos que un objeto sea capaz de reaccionar a los actos que se
producen a su alrededor, y nosotros generaremos los eventos en los cuales tengamos
inters.
Si no necesitamos saber si llueve o no, habr evento EstaLloviendo, etc..

Y podramos seguir ensendole cosas, podramos seguir escribiendo mtodos y


creando propiedades que definan a una persona, en la misma clase, o creando una
nueva que herede las capacidades de la que ya existe.

Longitud del pelo.


Ancho de la cintura
Ancho del pecho
Longitud de las piernas.
7.7. Polimorfismo.
Pero las personas no son todas iguales, y cada una dispone de distintas habilidades,
por lo que podremos dotar de ms habilidades a sta clase, a sta persona.
Pintar
Dibujar
Sumar
Bailar

De esa forma, si nos fijamos cambiando el color de los ojos o del pelo, o del sexo, a
partir de un mismo punto de partida, podemos crear distintos tipos de personas.
7.8. Herencia.
Lo que no vamos a hacer nunca tampoco es escribir una parte de un programa de
nuevo, cuando ya lo hemos escrito anteriormente, por lo que lo que se va haciendo es
crear clases, moldes base que luego vamos enriqueciendo a partir de las ya existentes,
a este concepto de aprovechamiento de lo ya existente lo denominamos herencia.
De esa forma podemos crear una clase base denominada persona con las
caractersticas estndar, o un bebe, si queremos llamarlo as, al que hemos de ir
enseando a hacer cosas.

El bebe solo lo definiramos por ejemplo con

Sexo
Altura
Color pelo

Color ojos
Color de la piel

Le ensearemos solo a

Hablar
Leer
Escribir
Andar
Correr

Y le dotaremos de la posibilidad de reaccionar ante

Calor
Fro
Seco
Mojado

Y despus crearamos una nueva clase que heredara esas capacidades y le


aadiramos otras nuevas.

De esa forma podramos entrenarlo para que fuera un gran cocinero.


Le potenciaramos la posibilidad de percibir los olores y los sabores.
Mejoraramos su habilidad en el manejo de las manos.

Podramos crear una clase que fuera un matemtico, al cual le potenciaramos sus
capacidades mentales para el clculo y la lgica.
7.9. Ocultacin.

Pero en el manejo de estas posibilidades nunca permitiramos que el diseador de la


clase cocinero o matemtico pudiera cambiar el color del pelo, o de los ojos.
Esta caracterstica que permite proteger las caractersticas del bebe se denomina
ocultacin.

7.10. Aplicacin.
Con lo que hemos comentado, si es capaz de asumir, madurar, y comprender lo que ha
ledo, el pasar de la fase de abstraccin a la real le supondr muy poco esfuerzo, ya
que los conceptos base de la P. O. O., son los comentados, solo queda la aplicacin.

Veamos un ejemplo un tanto irreal.

Desarrollamos una clase que denominamos Humano

Clase Humano
Propiedad Sexo
Propiedad Altura
Propiedad Raza
Propiedad ColorOjos
Propiedad ColorPelo

Metodo Caminar
Fin de metodo

Metodo Hablar
Fin de metodo

Metodo Leer
Fin de metodo

Metodo Escribir
Fin de metodo
Fin de Clase

Cada uno de esos mtodos, contendr el cdigo adecuado para que se realice la accin
que tiene como misin.

Por ejemplo el mtodo Leer, podra ser

Metodo Leer(NombreLibro)

Fin de metodo

Y recibira como parmetro el nombre de un libro, el cual habra que leer.


En el interior del mtodo podramos tener escrito algo como

Metodo Leer(NombreLibro)

AbrirLibro(NombreLibro)

Mientras haya Hojas


Mientras haya Lineas
Mientras haya palabras
Leer palabra
Fin de mientras
CambiarDeLinea
Fin de mientras
CambiardePagina

Fin de mientras

CerrarLibro

Fin de metodo

Pero podramos aadir un parmetro que fuera leer en voz alta, o podramos aadir
una condicin que fuera leer si no estas cansado.

Por lo tanto podra quedar

Mientras haya Palabras


Leer Palabra
Si hay que leer en voz alta
Mujer.Hablar Palabra
Fin de condicin
Fin de mientras

O podra ser tambin

Mientras haya Palabras Y NoEstoyCansado


Leer Palabra
Fin de mientras

O evidentemente todo junto.

Mientras haya Palabras y NoEstoyCansado

Leer Palabra
Si hay que leer en voz alta
Mujer.Hablar Palabra
Fin de condicin
Fin de mientras

NoEstoyCansado sera una funcin que podra analizar el estado anmico del objeto
Mujer y devolver Cierto o Falso, de tal forma, que si es cierto se sigue leyendo y si no,
se abandona la lectura.
As que podramos llegar a algo parecido a lo siguiente.
Metodo Leer(NombreLibro)
AbrirLibro(NombreLibro)
Mientras haya Hojas Y NoEstoyCansado
Mientras haya Lineas Y NoEstoyCansado
Mientras haya Palabras Y NoEstoyCansado
Leer Palabra
Si hay que leer en voz alta
Mujer.Hablar Palabra
Fin de condicin
Fin de mientras
CambiarDeLinea
Fin de mientras
CambiardePagina
Fin de mientras

CerrarLibro
Fin de metodo
Una vez que disponemos de la clase ya escrita, el siguiente paso es poderla utilizar.

Eso se realiza ya dentro de nuestro programa.

El primer paso sera declarar un objeto del tipo de la Clase, recordemos que cuando
declaramos una variable, es porque va a almacenar un dato, ese dato tendr un tipo, y
la variable ha de concordar con ese tipo de dato.
Con los objetos ocurre lo mismo, si declaramos un objeto, es porque deseamos que ese
objeto realice una serie de acciones, el objeto es capaz de realizar esas acciones
porque la clase de la que se deriva, posee esas capacidades.
Por lo tanto hay que crear el objeto de la clase que nosotros sabemos que posee esas
caractersticas.

Un ejemplo, desde un programa se pueden utilizar las libreras de Office, y se puede


declarar un objeto que llamemos Hoja y que se crea con las mismas caractersticas y
habilidades que puede tener Excel, o se podra hacer tambin con Word, declaramos un
objeto que llamamos Documento del tipo Word, y podramos escribir un documento de
Word a partir del contenido de una base de datos, sin pulsar una sola tecla, y lo ms
divertido, podramos ver como el documento se escribe solo en pantalla.

Ancdotas a parte, un objeto es eso, un elemento en nuestro programa con las


capacidades de realizar las cosas de la clase de la cual deriva.

En el programa el primer paso sera asignar al objeto los valores de las propiedades
que definirn al objeto.

Mujer.Sexo = M
Mujer.Altura = 180
Mujer.Raza = Blanca
Mujer.ColorOjos = Verde
Mujer.ColorPelo = Negro
La siguiente fase ya sera su utilizacin.

Mujer.Leer

Mujer.Escribir

Por lo que el programa podra quedar

Inicio Programa
Declarar Mujer del tipo Humano

Mujer.Sexo = M
Mujer.Altura = 180
Mujer.Raza = B
Mujer.ColorOjos = Verde
Mujer.ColorPelo = Negro

Mujer.Leer
Fin de programa

Claro est que esto es la mnima expresin de lo que podra ser, pero solo pretende ser
eso, un ejemplo.
7.11. Conclusiones.
Evidentemente la aplicacin es ms compleja, pero lo es, por los tecnicismos
necesarios en la escritura de los programas, no porque cambie lo expuesto
anteriormente.
Si los conceptos estn claros, la comprensin de la tarea de programar se facilita en
gran medida.

Programar es dominar una tcnica, la tcnica no cambia, lo que cambian son los
lenguajes.

Para llegar a la tcnica y tener agilidad en el planteamiento y comprensin de los


planteamientos de un programa, es necesaria la experiencia, y la experiencia solo se
logra con la prctica y el trabajo del da a da.

Ejercicios unidad 7: Las clases

Plantese el crear una clase Casa, que sea capaz de crear una casa de cualquier tipo,
en cuanto a nmero de habitaciones, baos, etc..
Adale la posibilidad de tener varias casas en un mismo edificio, el nmero de
plantas, el nmero de casas por planta.
Posteriormente, adale la capacidad de que la casa pueda tener piscina, barbacoa,
jardn, garaje.

Das könnte Ihnen auch gefallen