Escolar Documentos
Profissional Documentos
Cultura Documentos
Objetos
Objetivos
Describir los conceptos que caracterizan
el modelo OO
Valorar en qu medida las tcnicas OO
favorecen la calidad del software
Contrastar cmo diferentes lenguajes
(Eiffel, Java, C++, C#) reflejan los
conceptos del paradigma OO
Programa de teora
TEMA1: CALIDAD DEL SOFTWARE
Modularidad
Extensibilidad
Reutilizacin
Genericidad
Clase: estructura (ref)
comportamiento (mens)
Ocultamiento de Informacin
Principio Abierto-Cerrado
Principio de Eleccin nica
Fiabilidad
Correccin
Robustez
...
TEMA 3 Correccin y
robustez
TEMA4 Herencia
Polimorfismo
Ligadura dinmica
Clases diferidas
Cdigo genrico
Programa de Prcticas
Totalmente ligado al programa de teora:
Criterios de calidad del software
Modelo de objetos: abstraccin, modularidad, encapsulacin,
herencia.
Conceptos del paradigma OO: clase, objeto, herencia,
polimorfismo, ligadura dinmica
Principios de diseo modular y OO
Metodologa
Seminarios semanales
En el aula de teora
Metodologa basada en proyectos
Resolucin de problemas de programacin
Empieza el 9 de octubre
INTRODUCCIN
Programacin Orientada a Objetos
Curso 2007 / 2008
Qu es el desarrollo OO?
Una nueva forma de pensar acerca del software
basndose en abstracciones que existen en el
mundo real.
Bombilla
color
encender()
apagar()
Paradigma de programacin
Coleccin de conceptos que guan el proceso de construccin
de un programa, determinando su estructura. Estos conceptos
controlan la forma en que pensamos y formulamos los
programas.
Un lenguaje de programacin refleja un paradigma.
PARADIGMA
Imperativo
Funcional
Lgico
Orientado a Objetos
LENGUAJE
C, Pascal, Cobol, ...
Lisp, Hope, Miranda, ...
Prolog, Parlog, ...
Smalltalk, C++, Eiffel, Java, ...
Modelo de Objetos
Abstraccin
Encapsulacin
Modularidad
Herencia
Polimorfismo
Bases de Datos OO
3
4
5
POO (3T+3P)
Ingeniera de Requisitos
Ingeniera de SI
Intensificacin en Tecnologa del software:
Ampliacin de bases de datos
Desarrollo de aplicaciones distribuidas
Desarrollo basado en componentes
Arquitectura del software
mensajes
Todo objeto es instancia de una clase (tiene un tipo).
La clase es el repositorio de comportamiento asociado con
un objeto
Las clases se organizan en jerarquas
de herencia
+ clases
Ada, Modula 2
(1979)
BASADO EN
CLASES
CLU
(1974)
+ herencia de clases
ORIENTADO
A OBJETOS
Smalltalk
(1972)
[Wegner87]
C++
Objective-C
1985
1983
1988
Smalltalk
Eiffel
1972
1985
B. Stroustrup
Brad Cox y Tom Love
Apple con Wirth
Digital y Olivetti
Alan Kay
Bertrand Meyer