Vous êtes sur la page 1sur 15

La programacin orientada a objetos (POO, u OOP segn sus

siglas en ingls) es un paradigma de programacin que usa


objetos en sus interacciones, para disear aplicaciones y
programas informticos.

Est basada en varias tcnicas, incluyendo herencia, cohesin,


abstraccin, polimorfismo, acoplamiento y encapsulamiento.
Su uso se populariz a principios de la dcada de 1990. En la
actualidad, existe una gran variedad de lenguajes de
programacin que soportan la orientacin a objetos.
La abstraccin consiste en captar las caractersticas esenciales de
un objeto, as como su comportamiento. Por ejemplo, veamos de los
automviles, Qu caractersticas podemos abstraer de los automviles?
O lo que es lo mismo Qu caractersticas semejantes tienen todos los
automviles? Todos tendrn una marca, un modelo, nmero de chasis,
peso, llantas, puertas, ventanas, etc. Y en cuanto a su comportamiento
todos los automviles podrn acelerar, frenar, retroceder, etc.
En los lenguajes de programacin orientada a objetos, el concepto
de clase es la representacin y el mecanismo por el cual se gestionan las
abstracciones.
El encapsulamiento consiste en unir en
la clase las caractersticas y comportamientos, esto es,
las variables y mtodos. Es tener todo esto es una sola entidad.
En los lenguajes estructurados esto era imposible. Es evidente
que el encapsulamiento se logra gracias a la abstraccin y
el ocultamiento que veremos a continuacin.

Es la capacidad de ocultar los detalles internos del comportamiento de una


clase y exponer slo los detalles que sean necesarios para el resto del sistema.

El ocultamiento permite 2 cosas: restringir y controlar el uso de la clase.


Restringir porque habr cierto comportamiento privado de la clase que no podr
ser accedido por otras clases. Y controlar porque daremos ciertos mecanismos
para modificar el estado de nuestra clase.
Es la propiedad que permite subdividir una aplicacin en partes ms
pequeas (llamadas mdulos), cada una de las cuales debe ser tan
independiente como sea posible de la aplicacin en s y de las
restantes partes. Estos mdulos se pueden compilar por separado,
pero tienen conexiones con otros mdulos. Al igual que la
encapsulacin, los lenguajes soportan la modularidad de diversas
formas.

Comportamientos diferentes, asociados a objetos distintos,


pueden compartir el mismo nombre; al llamarlos por ese nombre
se utilizar el comportamiento correspondiente al objeto que se
est usando.
Entender que es un objeto es la clave para entender
cualquier lenguaje orientado a objetos.
Primero empecemos entendiendo que es un objeto del mundo real.
Un objeto del mundo real es cualquier cosa que vemos a nuestro
alrededor.
un objeto del mundo real, como la computadora. No necesitamos
ser expertos en hardware para saber que una computadora est
compuesta internamente por varios componentes: la tarjeta madre,
el chip del procesador, un disco duro, una tarjeta de video, y otras
partes ms.
Todo objeto del mundo real tiene 2
componentes: caractersticas y comportamiento.

Por ejemplo, los automviles tienen caractersticas (marca, modelo,


color, velocidad mxima, etc.) y comportamiento (frenar, acelerar,
retroceder, llenar combustible, cambiar llantas, etc.).

Los objetos de Software, al igual que los objetos del mundo real,
tambin tienen caractersticas y comportamientos. Un objeto de
software mantiene sus caractersticas en una o ms "variables", e
implementa su comportamiento con "mtodos". Un mtodo es una
funcin o subrutina asociada a un objeto.

Definicin terica: Un objeto es una unidad de cdigo compuesto


de variables y mtodos relacionados.
En el mundo real, normalmente tenemos muchos objetos del
mismo tipo. Por ejemplo, nuestro telfono celular es slo uno de los
miles que hay en el mundo. Si hablamos en trminos de
la programacin orientada a objetos, podemos decir que
nuestro objetocelular es una instancia de una clase conocida
como "celular". Los celulares tienen caractersticas (marca, modelo,
sistema operativo, pantalla, teclado, etc.) y comportamientos (hacer
y recibir llamadas, enviar mensajes multimedia, transmisin de
datos, etc.).
Esto mismo se aplica a
los objetos de software, se
puede tener muchos objetos del
mismo tipo y mismas
caractersticas.

Definicin terica: La clase es un modelo o prototipo


que define las variables y mtodos comunes a todos
los objetos de cierta clase. Tambin se puede decir
que una clase es una plantilla genrica para un
conjunto de objetos de similares caractersticas.
Los atributos son las caractersticas individuales que diferencian un
objeto de otro y determinan su apariencia, estado u otras cualidades.
Los atributos se guardan en variables denominadas de instancia, y
cada objeto particular puede tener valores distintos para estas
variables.
Las variables de instancia tambin denominados miembros dato, son
declaradas en la clase pero sus valores son fijados y cambiados en el
objeto.

Adems de las variables de instancia hay variables de clase, las


cuales se aplican a la clase y a todas sus instancias. Por ejemplo, el
nmero de ruedas de un automvil es el mismo cuatro, para todos los
automviles.
La herencia es uno de los conceptos ms cruciales
en la POO (programacin orientada a objetos). La
herencia bsicamente consiste en que
una clase puede heredar sus variables y mtodos a
varias subclases (la clase que hereda es
llamada superclase o clase padre). Esto significa
que una subclase, aparte de los atributos y mtodos
propios, tiene incorporados los atributos y
mtodos heredados de la superclase. De esta
manera se crea una jerarqua de herencia.
En general, podemos tener una gran jerarqua de clases tal y como
vemos en el siguiente grfico:

Vous aimerez peut-être aussi