Anda di halaman 1dari 15

PROGRAM

ACION
ORIENTAD
AA
OBJETOS
POO
ING. MIGU
E L D UQUE
V

Qu es?
La P.O.O. (O.O.P.) es lo que se conoce como un paradigma o modelo
de programacin. Esto significa que no es un lenguaje especfico, o
una tecnologa, sino una forma de programar, una manera de
plantearse la programacin. No es la nica (o necesariamente mejor
o peor que otras), pero se ha constituido en una de las formas de
programar ms populares e incluso muchos de los lenguajes que
usamos hoy en da lo soportan o estn diseados bajo ese modelo
(PHP, AS2, AS3,).
Lo que caracteriza a la POO es que intenta llevar al mundo del
cdigo 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) y tambin un TV
de otro (porque, aunque sean iguales, cada uno es un objeto
distinto). ste es el modelo que la POO intenta seguir para
estructurar un sistema.

Objeto
Objeto es el concepto clave de la Programacin Orientada a
Objetos, la idea de objeto es similar a la del mundo real, un objeto
puede ser una silla, una mesa. Tu perro es un objeto.
Los objetos tienen dos caractersticas: Un estado y un
comportamiento. Fjate que por ejemplo tu perro tiene un estado:
nombre, color, raza, altura, etc. y un comportamiento: ladrar, cavar
pozo, llorar, dormir, comer, etc.
Un auto es un objeto. Tambin tiene un estado: Cantidad de
puertas, color, tamao, etc. y un comportamiento: acelerar, frenar,
subir cambio, bajar cambio, girar izq., girar der., etc.

Objeto
Entonces podemos definir a un objeto en POO, como un conjunto de
datos y funciones relacionadas. A las funciones de los objetos, tales
como acelerar en el caso del auto, de aqu en ms las llamaremos
mtodos, a los datos los llamaremos atributos.
Un ejemplo de un objeto podra ser el siguiente:
Objeto: Cuenta bancaria
Atributos: tipo, titular, saldo.
Mtodos: Depositar, Retirar.
Aqu se ve la necesidad de que el atributo "saldo" sea solo accesible
a travs de los mtodos "Depositar" y "Retirar" por una cuestin de
seguridad, encapsulamiento y para evitar comportamientos
indeseados.

Objeto
No hay un acuerdo aceptado por todo el mundo respecto
a cules son las caractersticas que definen la POO, pero
al menos todos concuerdan en estas tres:
0
0
0

Abstraccin.
Encapsulacin.
Herencia.

Abstraccin
Cada vez que pronunciamos una palabra, realmente lo que
hacemos es asociar ese sonido (o ese conjunto de garabatos al
escribir) con una serie de cosas. Decimos que una ave es tal cosa,
que una silla es tal otra, etc.
Cuando vamos a aplicar la POO, lo primero que debemos hacer es
cumplir con una vieja mxima de guerra: Divide y Vencers. Es
decir, lo que hacemos es seccionar nuestro cdigo en grupos de
cdigo ms pequeo que, al unirlos, hacen el trabajo.
Capacidad de separar los elementos (al
menos mentalmente) para poder verlos
de forma singular.

Encapsulacin
Tambin conocida como ocultamiento. Cuando me acuesto a ver
televisin no me preocupo del modo como ste funciona, o lo que
hace para cambiar de canal o aumentar el volumen. A menos que
seas experto en electrnica o tcnico en televisores, te pasar lo
mismo: no lo sabes y no te importa; slo sabes que al presionar un
botn ocurre la magia.
La encapsulacin se encarga de mantener ocultos los procesos
internos que necesita para hacer lo que sea que haga, dndole al
programador acceso slo a lo que necesita. Esto da dos ventajas
iniciales:

Encapsulacin
1.- Lo que hace el usuario puede ser controlado internamente
(incluso sus errores), evitando que todo colapse por una
intervencin indeseada.
2.- Al hacer que la mayor parte del cdigo est oculto, puedes hacer
cambios y/o mejoras sin que eso afecte el modo como los usuarios
van a utilizar tu cdigo.
Slo tienes que mantener igual la forma de acceder a l (en el caso
del control de la tele, que los botones sigan siendo los mismos y
que el botn de apagado no cambie el volumen). Por cierto, estas
puertas de acceso que das a los usuarios son lo que se conoce
como interfaz.

Herencia
Capacidad que tiene una clase de derivar las propiedades y
mtodos de otra (suena a chino no? Calma, lo veremos luego con
paciencia ;) ). Tratemos de explicarlo con un ejemplo:
Decimos que una gallina es un ave; esto
quiere decir que las gallinas tienen
caractersticas comunes con otras aves
(pico, plumas, etc.), es decir que la
gallina
hereda
las
caractersticas
comunes de todas las aves. Pero
adems, resulta que un ave es un
animal, lo que significa que tambin
comparte caractersticas comunes al
caballo, el perro, el hombre y cualquier
otra cosa que pueda ser clasificada como
animal.

Herencia
La herencia nos permite, entre otras
cosas, evitar tener que escribir el mismo
cdigo una y otra vez, puesto que al
definir

que

una

programacin
pertenece
estamos

categora
llamaremos

otra,

(que

en

clase)

automticamente

atribuyndoles

las

caractersticas generales de la primera,


Una vez establecidas las caractersticas de la P.O.O., veamos sus
sin tener que definirlas de nuevo.
elementos bsicos: Clase e Instancia

Clase
Cuando decimos ave, sabemos que nos referimos a algo con
plumas, pico, dos patas, etc. No importa realmente si hemos visto
un ave o no, o si tenemos un ave frente a nosotros; entendemos
claramente que la palabra ave se refiere a alguna cosa que
cumple con unas caractersticas especficas, se comporta de una
forma concreta, etc, etc. No es ms que una palabra, pero nos
permite clasificar las cosas. Por ejemplo, sabemos que una gallina
es un ave y que un perro no es un ave.
La clasificacin es algo que hacemos todos los das, a cada
momento (entre otras cosas, nos libra de utilizar medias como
guantes o baarnos en el comedor en vez de en la ducha). Cada vez
que decimos que algo es alguna cosa, estamos clasificndolo,

Clase
En la POO ocurre igual, una clase no es ms que una serie de cdigo
que define a todos los elementos relacionados con ella. As,
podramos escribir la clase ave colocando en ella todas las
caractersticas que tienen las aves (pico, color, alto, ancho, patas,
)

esas

caractersticas

las

llamaremos

en

lenguaje

de

programadores, propiedades.
Pero la cosa no termina all, resulta que las aves tienen tambin
ciertos mecanismos especficos, como comer, dormir, reproducirse,
etc. Estos mecanismos los llamamos mtodos.
Por ltimo, tambin sabemos que las aves reaccionan ante ciertos
sucesos, como peligro, atraccin, defensa A esto lo llamaremos

Clase
Entonces, vemos que una clase es algo as como el concepto de lo
que queremos hacer, es como la idea de alguna cosa, del objeto;
pero igual que con las ideas, no puedo hacer nada directamente con
una clase. Sin embargo, esta idea ser la que d forma al objeto
que crearemos (que tendr las caractersticas, mecanismos y
comportamientos que habamos pensado en nuestra idea).

Instancia
Bien, decamos que una clase es como la definicin de un objeto,
pero no es el objeto en s, del modo como una idea no es una cosa
fsica. 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 ms instancias de una
misma clase sin problemas.
Cada vez que creamos una nueva instancia, sta adquiere las
propiedades, mtodos y eventos de la clase a la que pertenece (es
lo que permite la relacin es un), sin embargo, cada instancia es
independiente de las otras; esto nos da dos ventajas:

Instancia
1. Si hago algn cambio en la clase, todas las instancias de esta

clase se actualizarn automticamente; 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).

2. Al ser independientes de las otras instancias, puedo darles

valores diferentes sin que afecten a las dems (como tener una
silla negra, una roja, una ms alta, etc.). Aunque comparten la
misma estructura, pueden programarse individualmente, dando
versatilidad y flexibilidad al cdigo.
Fuente: http://thefricky.wordpress.com/poo/

http://www.taringa.net/posts/apuntes-y-monografias/1632040/Te-cuesta-entender-la-P-O-O-Marco-teorico.h

Anda mungkin juga menyukai