1. Introducción POO
IESTP San Ignacio de Loyola
P.E. Computación e Informática
Ing. Fredy Luis Ureta Orihuela
2. ¿Qué es la Programación
Orientada a Objetos?
La P.O.O es lo que se conoce como un paradigma o
modelo de programación. Esto significa que no es un
lenguaje específico, o una tecnología, sino una forma
de programar, una manera de plantearse la
programación. Muchos de los lenguajes que usamos
hoy día lo soportan o están diseñados bajo ese
modelo.
Lo que caracteriza a la POO es que intenta llevar al
mundo del código lo mismo que encontramos en El
Mundo Real.
Cuando miramos a nuestro alrededor ¿qué vemos?
pues, cosas, objetos, pero podemos reconocer estos
objetos porque cada objeto pertenece a una clase,
eso nos permite distinguir, por ejemplo, un perro de un
auto (porque son de clases diferentes)
3. ¿Qué es la Programación Orientada a
Objetos?
El término "orientada a objeto" significa que
organizaremos el software como una colección de
objetos discretos que incorporan tanto estructuras de
datos como procedimientos.
El significado de Orientado a Objetos nace como un
conjunto de practicas que definen un estilo de
programación.
4. ¿Qué es la Programación Orientada a
Objetos?
Los seres humanos percibimos el mundo como si
estuviera formado por objetos: mesas, sillas,
computadoras, coches, cuentas bancarias, etc.
Donde consiente o inconscientemente tendemos a
organizarlos, clasificarlos, relacionarlos entre si, y
hasta extraemos las características más importantes
dependiendo de lo que quieren hacer con ellas.
Vehículo
Animal
Figura
5. ¿Qué es una
Clase?
La clasificación es algo que hacemos todos los días, a cada momento.
Cada vez que decimos que algo es alguna cosa, estamos
clasificándolo, asociándolo a una clase.
En la POO ocurre igual, una clase no es más que una serie de código
que define a todos los elementos relacionados con ella.
Así, podríamos escribir la clase ave colocando en ella todas las
características que tienen las aves (pico, color, alto, ancho, patas,…) esas
características las llamaremos en lenguaje de programadores,
propiedades.
Pero la cosa no termina allí, resulta que las aves tienen también ciertos
mecanismos específicos, como comer, dormir, reproducirse, etc. Estos
mecanismos los llamamos métodos.
Por último, también sabemos que las aves reaccionan ante ciertos
sucesos, como peligro, atracción, defensa… A esto lo llamaremos eventos.
6. Entonces, vemos que una clase es algo así como el concepto de lo que
queremos hacer, es como la idea (concebida al detalle) de la cosa, del
objeto; pero igual que con las ideas, no puedo hacer nada directamente
con una clase (puedes sentarte en una silla, pero no en tu idea de una
silla). Sin embargo, esta idea será la que dé forma al objeto que
crearemos (que tendrá las características, mecanismos y
comportamientos que habíamos pensado en nuestra idea).
Lavadora
marca
modelo
capacidad...
Programar
PonerRopa
CerrarPuerta
Lavar
7. Decíamos que una clase es como la definición de un objeto, pero no es
el objeto en sí, del modo como una idea no es una cosa física (el
ejemplo de la silla). Así que para sentarnos necesitaremos convertir esa
idea en algo, en un objeto real; a ese objeto lo llamamos instancia.
En un mismo proyecto puedo tener una o más instancias de una misma
clase sin problemas.
Cada vez que creamos una nueva instancia, ésta adquiere las
propiedades, métodos y eventos de la clase a la que pertenece, sin
embargo, cada instancia es independiente de las otras.
¿Qué es una
Instancia?
8. Si hago algún cambio en la clase, todas las instancias de esta clase se
actualizarán automáticamente; esto nos permite hacer cambios sin
tener que ir a cada una de las instancias (se aplica el mismo principio
de herencia, aunque a un nivel diferente).
Ventajas de las Instancias
Al ser independientes de las otras instancias, puedo darles valores
diferentes sin que afecten a las demás (como tener una silla negra, una
roja, una más alta, etc.). Aunque comparten la misma estructura,
pueden programarse individualmente, dando versatilidad y flexibilidad al
código.