martes, 22 de enero de 2008

OOP

La programacion orientada a Objetos esta basada en varias técnicas, incluyendo herencia, polimorfismo, y encapsulamiento.

¿Que fuerte nooooo? ¿Que es eso?

Pues bien aunque pueda parece una locura en realidad no es mas que una forma de catalogar las cosas para aprovechar al maximo sus caracteristicas.

Vamos con los ejemplo que seguro que se entiende todo mejor.

Objeto -> Mamifero
Objeto -> SerHumano
Objeto -> Vaca
Objeto -> Mono

HERENCIA
Si nos paramos a pensar un poco tanto SerHumano, Vaca y Mono son Mamiferos. Por lo tanto los Objetos SerHumano, Vaca, Mono HEREDAN de Mamifero.

En Java se diria SerHumano extends Mamifero

quiere decir esto que la accion Mamar la tendran todos por Herencia de Mamifero.
despues cada uno tendra sus peculiaridades pero mamar sera comun a los tres.

Esta claro ¿no?

POLIMORFISMO

Esto nos viene a indicar que un determinado Objeto SerHumano puede tener diversas caracteristicas que se pueden cumplir a la misma vez o independientemente cada una.

SerHumano puede ser Bombero , Jugador de Baloncesto, Actor, Padre.

es decir el Objeto SerHumano puede ser polimorfico ya que puede adoptar la forma de cualquiera de las caracteristicas de arriba o todas al mismo tiempo.

Para esto en Java utilizamos las Interfaces

ENCAPSULAMIENTO


El encapsulamiento nos sirve para ocultar las propiedades de los objetos y ponerlas a disposicion de los demas objetos solamente mediante los metodos asociados a dichas caracteristicas.

En el ejemplo de SerHumano que es JugadorDeBaloncesto si quisieramos modificar su mano de lanzamiento a canasta no podriamos decir que ManoDeLanzamiento = DERECHA por ejemplo sino que tendriamos que buscar una accion o metodo que fuera estableceManoDeLanzamiento(DERECHA) y asi el objeto interiormente cambiaria la mano de lanzar realizando las acciones que fueran necesarias estando estas totalmente oculta o encapsuladas a nosotros.

Esto es un resumen a grandes matices de la OOP o Programacion Orientada a Objetos.

El resto son caracteristicas propias de los lenguajes en los que se desarrolle.


rOV

No hay comentarios: