Está en la página 1de 2

Pilares de la Programacin orientada a objetos (POO)

La Programacin Orientada a Objetos es un paradigma de programacin que usa los objetos en sus interacciones, para disear aplicaciones y programas informticos. Est basado en varias tcnicas, incluyendo herencia, cohesin, abstraccin, polimorfismo, acoplamiento y encapsulamiento. Su uso se populariz a principios de la dcada de los aos 1990. En la actualidad, existe una gran variedad de lenguajes de programacin que soportan la orientacin a objetos. Los pilares de la POO son: La abstraccin, Encapsulamiento, Herencia, Polimorfismo. La abstraccin: Mucha gente considera que la abstraccin en si no es ms que una parte del proceso de la encapsulacin, y por tanto no la tienen como pilar independiente de la POO. La abstraccin es la capacidad de obtener y aislar toda la informacin y cualidades de un objeto que no nos parezcan relevantes, para poder encapsularlos. Para ello separamos "mentalmente" los objetos y nos centramos en su comportamiento fundamental. Gracias a ello, podemos representar las caractersticas esenciales de un objeto sin preocuparnos de las restantes.

La encapsulacin: La encapsulacin es la capacidad de ocultar los datos abstrados, aislarlos o protegerlos de quin no desees que tenga acceso a ellos; otro objeto o funcin por ejemplo. Cada objeto puede tener muchas cosas encapsuladas en su interior, propiedades, funciones o incluso otros objetos. Muchas veces no se necesita entender el funcionamiento interno de un objeto, sino tan solo sus funcionalidades: para que sirve o qu puede hacer. Por tanto un objeto puede ser cambiado por otro siempre que cumpla con la misma funcin. Veamos un ejemplo del mundo real. Imaginemos que tenemos un objeto: una tarjeta de sonido. No sabemos cul es el funcionamiento interno de la misma, sus propiedades se podra decir que estn encapsuladas dentro. Lo que si sabemos es que cumple con la funcin de proporcionar el sonido a nuestro ordenador. Podemos cambiar una tarjeta de sonido por otra, ya que cumplen la misma funcin, y no necesitamos saber nada ms, a no ser que queramos trabajar para creative.

Para dejarlo an ms claro; el usuario no necesita saber cmo funciona internamente un coche, solo necesita saber que al pisar el acelerador (aplicar el mtodo) el coche anda. Herencia y reutilizacin:

La Herencia lo que nos dice es que puede crearse un objeto a partir de otro objeto ya existente. El nuevo objeto hereda todas las cualidades del objeto del que deriva y adems puede aadir nuevas funcionalidades o modificar las ya existentes. Imaginemos que tenemos un ordenador con sus planos y queremos fabricar otro ordenador. En vez de crear uno de cero, sera mucho ms sencillo basarnos en el ordenador que ya tenemos y aadirle o modificarle ciertas funcionalidades como podran ser: aumentar su capacidad, su velocidad de procesamiento, etc Este proceso adems de a un objeto puede aplicarse a una clase. A la clase que se crea a partir de otra clase se le conoce como subclase o clase derivada. Polimorfismo:

El polimorfismo es la capacidad para que varias clases u objetos derivados de otros, reaccionen de manera diferente ante los mismos mtodos. El polimorfismo se puede aplicar tanto a objetos como a funciones, por lo que podemos hablar de objetos polimrficos y de funciones polimrficas. Por ejemplo, cuando apretamos el acelerador de un coche no va a responder igual el que posee un motor disel que el que tiene un motor de gasolina.

Resumen: La programacin orientada a objetos es un paradigma surgido en los aos 70, que utiliza objetos como elementos fundamentales en la construccin de la solucin. Un objeto es una abstraccin de algn hecho o ente del mundo real, con atributos que representan sus caractersticas o propiedades, y mtodos que emulan su comportamiento o actividad. Todas las propiedades y mtodos comunes a los objetos se encapsulan o agrupan en clases. Una clase es una plantilla, un prototipo para crear objetos; en general, se dice que cada objeto es una instancia o ejemplar de una clase.