Programación y Abstracción
En general un programa no es mas que una descripción abstracta de un procedimiento o fenómeno que existe o sucede en el mundo real.
Los mecanismos utilizados por los programadores para controlar la complejidad; entre todos ellos se destaca la abstracción.
Programación y Abstracción “ Los humanos hemos desarrollado una técnica excepcionalmente potente para tratar la complejidad: abstraernos de ella. Incapaces de dominar en su totalidad los objetos complejos, se ignoran los detalles no esenciales, tratando en su lugar con el modelo ideal de objeto y centrándonos en el estudio de sus aspectos esenciales.” [Wulft]
Programación y Abstracción
Abstracción: Es la capacidad para encapsular y aislar la información del diseño y ejecución.
Módulos
Tipos Abstractos
de Datos
Objetos
Procedimientos
PROGRESION HISTORICA
Programación y Abstracción
Las personas normalmente comprenden el mundo construyendo modelos mentales de parte del mismo: tratan de comprender cosas con las que pueden interactuar: un modelo mental es una vista simplificada de cómo funciona de modo que se pueda interactuar contra ella.
Programación y Abstracción
Este proceso de abstracción es psicológicamente necesario y natural: la abstracción es crucial para comprender este complejo mundo
La abstracción es esencial para el funcionamiento de una mente humana normal y es una herramienta muy potente para tratar la complejidad.
Programación y Abstracción
La abstracción es la clave para diseñar buen software. El método más idóneo para controlar la complejidad fue aumentar los niveles de abstracción.
Programación y Abstracción
Módulos
Tipos Abstractos
de Datos
Objetos
Procedimientos
PROGRESION HISTORICA
PROCEDIMIENTOS
El procedimiento proporcionó la primera posibilidad de ocultación de información.
Un programador podia escribir un procedimiento o conjunto de procedimientos que se utilizaban por otros programadores.
Programación y Abstracción
Módulos Tipos Abstractos de Datos Objetos Procedimientos
PROGRESION HISTORICA
MODULOS
Es una técnica que proporciona la posibilidad de dividir sus datos y procedimientos en una parte privada y una parte pública.
Proporcionan un método efectivo de ocultación de la información, pero no permiten realizar instanciación, que es la capacidad de hacer multiples copias de las zonas de datos.
Programación y Abstracción Módulos Tipos Abstractos de Datos Objetos Procedimientos PROGRESION HISTORICA
TADS
Un tipo abstracto de dato (TAD) es un tipo de dato definido por el programador que se puede manipular similarmente a los tipos de datos definidos por el sistema. Un tipo abstracto de dato corresponde a un conjunto (puede ser de tamaño indefinido) de valores legales de datos y un número de operaciones primitivas que se pueden realizar sobre esos valores.
TADS
Para construir un tipo abstracto de datos se debe poder: Exponer una definición del tipo.
Hacer disponible un conjunto de operaciones.
Proteger los datos asociados con el tipo.
Permitir instancias multiples del tipo.
Programación y Abstracción Módulos Tipos Abstractos de Datos Objetos Procedimientos PROGRESION HISTORICA
OBJETOS
Es un tipo abstracto de dato al que se añaden importantes innovaciones: modularidad y reutilización.
Los mecanismos básicos de orientación a objetos son: objetos, mensajes y métodos, clases e instancias y herencia.
OBJETOS
Una idea fundamental es la comunicación de los objetos a través de paso de mensajes.
Además se cuenta con mecanismos de herencia y polimorfismo. La persistencia se refiere a la permanencia de un objeto.
OBJETOS
Abstracción
Encapsulamiento
Persistencia
Herencia
Polimorfismo
Genericidad
Conceptos clave
Entidades básicas
Objeto
Mensajes
Métodos
Clases
Instancias
Herencia
Jerarquía
Publicado: Enrique Gallardo