Abstracción
La Abstracción es un principio en el cual se aisla toda información que no sea relevante en algún nivel de conocimiento, esto quiere decir que se separa en el caso de lenguajes orientados a objetos, según sus propiedades, esto es, el método, el objeto, clase y modulo, para así hacer a implementación del programa.
Es una descripción de especificación que se enfoca a las características de algo, solamente las propiedades esenciales y el comportamiento de un objeto.
Ejemplo practico de abstracción:
- ¿Que características podemos abstraer de los iPods? o que es lo mismo ¿Que características semejantes tienen todos los iPods?
- Características escenciales
- Modelo, Memoria, Pantalla, Audifonos.... etc..
Encapsulamiento
El encapsulamento lo que hace es unir la clase con las características y sus comportamientos, o sea, las variables y metodos, para tener todo en una sola entidad, por lo tanto podemos decir que el encapsulamiento se logra gracias a la abstracción, facilita el manejo de la complejidad, ya que en las clases solo se conoce el comportamiento pero no mas detalles, es conveniente para saber que hace pero no como lo hace.
Ejemplo practico de Encapsulamiento:
- De un iPod nosotros como usuarios conocemos su apariencia y algunas cosas de como funciona, a nosotros nos importa que se escuche bien la música, mas no nos interesa saber que hace cada una de las partes detalle a detalle del aparato.
Modularidad
Nos permite a nosotros como programadores en dividir nuestra aplicación en diferentes módulos ya sea en paquetes, clases, librerías... cada uno con sentido propio.
Esta separación hace que disminuya el grado de dificultad del problema al que se da en un programa, pues así podemos facilitar la comprensión de este.
Jerarquía
Del mismo modo que en la vida real, las clases de un programa se organizan mediante una jerarquía dando lugar a los arboles de herencia donde una clase hija puede tomar propiedades de una clase padre para así simplificar el diseño y evitar duplicar el código.
Paso de Mensajes
Un objeto puede solicitar a otro que haga acciones o que cambie su estado, implementándose al hacer llamadas a otros métodos de otros objetos, seria algo como mandar llamar funciones en lenguajes imperativos pero en este caso es a objetos.
Polimorfismo
Esto quiere decir que como su nombre lo indica tenemos un objeto y muchas formas, permite que el objeto presente diferentes comportamientos según en donde se encuentre.
Espero que mi explicación les sirva, si tienen algún comentario acerca de esta entrada, espero me digan ya que estoy abierto a cualquier error.
Espero que mi explicación les sirva, si tienen algún comentario acerca de esta entrada, espero me digan ya que estoy abierto a cualquier error.
No hay comentarios:
Publicar un comentario