Programacion orientada a objetos
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 lenguajes de 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, con el fin de destacarmá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 de abstracción ofertados por unlenguaje, dependen de los mecanismos proporcionados por el lenguaje elegido:
Ensamblador Procedimientos Módulos
Perspectiva funcional
Paquetes Tipos abstractos de datos (TAD) Objetos
Perspectiva de datos
TAD + paso de mensajes + herencia + polimorfismo
Perspectiva de servicios
4
El progreso de la abstracción
Lenguajes de programación yniveles de abstracción
Los lenguajes de programación proporcionan abstracciones
Espacio del problema Lenguajes Orientados a Objetos (LOO) LOO Puros Smalltalk, Eiffel
Espacio de la solución Lenguajes Ensamblador Lenguajes Imperativos (C, Fortran, BASIC) Lenguajes Específicos (LISP, PROLOG)
LOO Híbridos (Multiparadigma) C++, Object Pascal, Java,…
5
El progreso de la abstracciónPrincipales 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
Lisp y sus dialectos (p. ej. Scheme), Haskell, ML Prolog C, Pascal Java, C++, Smalltalk, …
Paradigma Lógico
Paradigma Imperativo (o procedural)
Paradigma Orientado a Objetos
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 interfaz simple.
Cuando además existe una división estricta entre la vista interna de uncomponente (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 la interconexión de los artefactos resultantes del trabajo de cada miembro.
8
El progreso dela 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 niveles de abstracción Principales paradigmas de programación Mecanismos de abstracción en los lenguajes deprogramació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
Metodología de desarrollo de aplicaciones en la cual éstas se organizan como colecciones cooperativas de objetos,...
Regístrate para leer el documento completo.