Pilares de La POO
Pilares de La POO
Pilares de La POO
Abstracción
La abstracción consiste en captar las características esenciales de un
objeto, así como su comportamiento. Por ejemplo, piensa en unos
automóviles, ¿Qué características podemos abstraer de los
automóviles? O lo que es lo mismo ¿Qué características semejantes
tienen todos los automóviles? Todos tendrán una marca, un modelo,
número de chasis, peso, llantas, puertas, ventanas, etc. Y en cuanto a
su comportamiento todos los automóviles podrán acelerar, frenar,
retroceder, etc.
La abstracción:
Encapsulamiento
El encapsulamiento se utiliza para ocultar o esconder las características
esenciales de un objeto, de manera que no pueda ser alterado por otros
objetos, en cierto modo proveen un efecto de caja negra donde la
interacción entre objetos debe hacerse por medio de su interfaz y no
directamente.
Dependiendo de la implementación del lenguaje OO. Se tienen
diferentes reglas de visibilidad para atributos, métodos y / o clases,
dichas reglas son:
Privado: visible sólo para la clase y para las clases amigas o del mismo
paquete en C++ y Java, respectivamente.
Protegida: visible sólo para las clases derivadas (subclases).
Pública: visible para todas las clases con las que está asociada.
La encapsulación:
Para dejarlo aún más claro; el usuario no necesita saber cómo funciona
internamente un coche, solo necesita saber que al pisar el acelerador
(aplicar el método) el coche anda.
Herencia
La herencia básicamente consiste en que una clase puede heredar sus
variables y métodos a varias subclases (la clase que hereda es llamada
superclase o clase padre). Esto significa que una subclase, aparte de
los atributos y métodos propios, tiene incorporados los atributos y
métodos heredados de la superclase. De esta manera se crea una
jerarquía de herencia.
Polimorfismo
Quizá es uno de los pilares de la programación OO, más difíciles de
entender. El polimorfismo se aplica en los métodos y se refiere a que el
mismo método puede ser usado para diferentes fines según se necesite.
Para explicar mejor este concepto vamos a echar mano de la
implementación en java. En ese lenguaje se tienen dos clases de
polimorfismo uno se llama sobrecarga y el otro se llama
sobre escritura. Esta definición puede variar según la implementación,
sin embargo el concepto de polimorfismo es el mismo.
La programación orientada a objetos se ha convertido en la más
popular debido a sus grandes capacidades y ventajas respecto a las
antiguas formas de programar. Básicamente, este tipo de programación
nos permite crear auténticos objetos, que pueden ser cosas que
aparecen en la pantalla, como botones o ventanas, o bien pueden ser
objetos de la vida real, como una persona o un lápiz.
Polimorfismo:
El polimorfismo es la capacidad para que varias clases u objetos
derivados de otros, reaccionen de manera diferente ante los mismos
métodos. El polimorfismo se puede aplicar tanto a objetos como a
funciones, por lo que podemos hablar de objetos polimórficos y de
funciones polimórficas.
Por ejemplo, cuando apretamos el acelerador de un coche no va a
responder igual el que posee un motor diésel que el que tiene un motor
de gasolina.