Mucha gente considera que la abstracción en si no es más que una parte del proceso
de la encapsulación, y por tanto no la tienen como pilar independiente de la POO. La
abstracción es la capacidad de obtener y aislar toda la información 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 características esenciales de un
objeto sin preocuparnos de las restantes.
La encapsulación
La encapsulación es la capacidad de ocultar los datos abstraídos, aislarlos o protegerlos de quién no
desees que tenga acceso a ellos; otro objeto o función 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 función.
Herencia y reutilización
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
además puede añadir 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, sería mucho más sencillo basarnos en el
ordenador que ya tenemos y añadirle o modificarle ciertas funcionalidades como
podrían ser: aumentar su capacidad, su velocidad de procesamiento, etc… Este
proceso además 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 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.