Anda di halaman 1dari 2

La abstracción:

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.

Pongamos el ejemplo de un objeto llamado gato. El gato tiene propiedades o


características (nombre, color, peso, precio, edad..) y métodos o
comportamientos (andar, maullar, lamerse las pelotas...)
Gracias a la abstracción, otro objeto, por ejemplo el "objeto vendedor" puede
manipular el "objeto gato" sin tener en cuenta algunas de sus propiedades y
métodos, ya que solo le interesan algunas, como el precio.

Poniendo un ejemplo de videojuegos. Si creamos un juego de coches tipo


Arcade, lo único que necesitamos abstraer de un coche real serán cosas como,
la forma, el color y la velocidad, por ejemplo. Pero, si queremos crear un juego
de coches tipo simulador, deberemos abstraer muchas más cosas, como el peso,
la potencia, el tipo de tracción, tipo de combustible, tipo de ruedas, etc...

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.

Veamos un ejemplo del mundo real. Imaginemos que tenemos un objeto: una
tarjeta de sonido. No sabemos cuál es el funcionamiento interno de la misma,
sus propiedades se podría decir que están encapsuladas dentro. Lo que si
sabemos es que cumple con la función de proporcionar el sonido a nuestro
ordenador. Podemos cambiar una tarjeta de sonido por otra, ya que cumplen la
misma función, y no necesitamos saber nada más, a no ser que queramos
trabajar para creative.

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 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.
Podemos crear una clase persona, y una clase mujer que hereda todas las
propiedades de la clase persona y que añade otras nuevas como las tetas, y
podemos crear varios objetos de la clase mujer, como podrían ser Ana o
Bernarda...

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.

Anda mungkin juga menyukai