¿Qué es la Abstracción en Programación Orientada a Objetos?

Ya se ha mencionado la abstracción en la primera lección, pero se puede conocer un poco más acerca de ella.

¿Qué es la Abstracción en Programación Orientada a Objetos?

Podemos definir la abstraccion como las características especificas de un objeto, aquellas que lo distinguen de los demás tipos y que logran definir límites conceptuales respecto a quien está haciendo dicha abstracción .

En otras palabras, es conseguir describir un objeto con propiedades y métodos principales sin pensar en detalle. La abstracción separa el comportamiento específico de un objeto, a esta división que se realiza se le conoce como la barrera de abstracción.

Para conseguir llegar a la barrera de abstracción muchas veces se debe realizar el proceso en el cual la interfaz de un objeto muestre el comportamiento específico y nada más, a este proceso le denomina el proceso de mínimo compromiso.

Una Interfaz de objeto permite crear código con el cuál se específica que métodos serán implementados por una clase sin necesidad de definir que harán estos métodos.

Ejemplo de una Interfaz con PHP
interface Animal
{
    public function eat($food);
    public function name();
}
Ejemplo de una interfaz con C#
interface Animal
{
    string eat(string food);
    string name();
}

Como se puede observar en ambos ejemplos se definen dos métodos eat y name ambos únicamente están definidos pero no tienen implementación, ya que la implementación deberá realizarla toda aquella clase que herede de ella.

En algunos casos existe también el conocido principio de mínima sorpresa, en el cuál una abstracción obtiene el comportamiento completo de un objeto y por ende no ofrece sorpresas o efectos laterales que lleguen más allá de la abstracción.

Algunas de las abstracciones que existen son:

Abstracción de Entidades: Es un objeto que representa un modelo útil de una entidad que se desea.

Abstracción de Acciones: Un objeto que representa un conjunto de operaciones y todas ellas desempeñan funciones del mismo tipo.

Abstracción de Máquinas virtuales: Un objeto que agrupa operaciones, todas ellas virtuales, utilizadas por algún nivel superior de control u operaciones (entre ellos se puede mencionar hablar de un circuito).

Abstracción de coincidencia: Un objeto que almacena un conjunto de operaciones que no tienen relación entre sí.

Como entenderás la interfaz permite generar una clase modelo que tenga de manera abstracta la vista exterior de un objeto, dicha interfaz establece todas las propiedades y el comportamiento de un objeto, las interfaces ayudan a limitar la responsabilidad de un objeto es decir le indica al objeto del comportamiento que se le hace responsable.

Cualquier duda o sugerencia estamos atentos, recordando que estamos en una serie de articulos cortos donde cada tema es tratado en un articulo distinto.

Comparte este artículo

Entra en la discusión y deja tu comentario

Veces