investigacion
TEMA 1
INTRODUCCIÓN AL PARADIGMA
ORIENTADO A OBJETOS
Cristina Cachero
Pedro J. Ponce de León
(1 Sesión)
Versión 0.7
POO
Indice
El progreso de la abstracción
Definición de la abstracción
Lenguajes de programación y niveles de abstracción
Principales paradigmas de programación
Mecanismos de abstracción en los lenguajesde programación
El paradigma orientado a objetos
Lenguajes orientados a objetos (LOO). Características básicas
LOO: Características opcionales
Historia de los LOO
Metas de la programación orientada a objetos (POO)
2
El progreso de la abstracción
Definición
Abstracción
Supresión intencionada (u ocultación) de algunos detalles de un
proceso o artefacto, conel fin de destacar más claramente otros
aspectos, detalles o estructuras.
En cada nivel de detalle cierta información se muestra y cierta información
se omite.
Ejemplo: Diferentes escalas en mapas.
Mediante la abstracción creamos MODELOS de la realidad.
3
El progreso de la abstracción
Lenguajes de programación y niveles de abstracción
Los diferentes niveles deabstracción ofertados por un lenguaje,
dependen de los mecanismos proporcionados por el lenguaje elegido:
Ensamblador
Procedimientos
Módulos
Perspectiva funcional
Paquetes
Tipos abstractos de datos (TAD)
Objetos
TAD
+ paso de mensajes
+ herencia
+ polimorfismo
Perspectiva de datos
Perspectiva de servicios
4
El progreso dela abstracción
Lenguajes de programación y niveles de abstracción
Los lenguajes de programación proporcionan abstracciones
Espacio del problema
Espacio de la solución
Lenguajes Orientados a
Objetos (LOO)
LOO
Puros
Lenguajes Ensamblador
Lenguajes Imperativos (C,
Fortran, BASIC)
Smalltalk,
Eiffel
Lenguajes Específicos (LISP,
PROLOG)
LOO Híbridos (Multiparadigma)C++, Object Pascal, Java,…
5
El progreso de la abstracción
Principales paradigmas
PARADIGMA:
Forma de entender y representar la realidad.
Conjunto de teorías, estándares y métodos que, juntos, representan
un modo de organizar el pensamiento.
Principales paradigmas de programación:
Paradigma Funcional: El lenguaje describe procesos
Paradigma Lógico
Prolog
Paradigma Imperativo (o procedural)
Lisp y sus dialectos (p. ej. Scheme), Haskell, ML
C, Pascal
Paradigma Orientado a Objetos
Java, C++, Smalltalk, …
6
El progreso de la abstracción
Mecanismos de abstracción en los lenguajes de programación
OCULTACIÓN DE INFORMACIÓN:
Omisión intencionada de detalles de implementación tras una interfazsimple.
Cuando además existe una división estricta entre la vista interna de un
componente (objeto) y su vista externa hablamos de ENCAPSULACIÓN.
Estas dos vistas son:
INTERFAZ: QUÉ sabe hacer el objeto. Vista externa
IMPLEMENTACIÓN: CÓMO lo hace. Vista interna
Favorece la intercambiabilidad.
Favorece la comunicación entre miembros del equipo de desarrollo y lainterconexión de los artefactos resultantes del trabajo de cada miembro.
8
El progreso de la abstracción
Mecanismos de abstracción en los lenguajes de programación
INTERFAZ
[Qué]
visible
IMPLEMENTACIÓN
[Cómo]
oculto
Usuario del
objeto
Objeto
9
Indice
El progreso de la abstracción
Definición de la abstracción
Lenguajes de programación y nivelesde abstracción
Principales paradigmas de programación
Mecanismos de abstracción en los lenguajes de programación
El paradigma orientado a objetos
Características básicas de los lenguajes orientados a objetos (LOO).
Características opcionales de los LOO
Historia de los LOO
Metas de la programación orientada a objetos (POO)
11
El paradigma orientado a objetos
...
Regístrate para leer el documento completo.