PDF de programación - Programación Orientada a Objetos

Imágen de pdf Programación Orientada a Objetos

Programación Orientada a Objetosgráfica de visualizaciones

Publicado el 31 de Mayo del 2018
727 visualizaciones desde el 31 de Mayo del 2018
283,8 KB
14 paginas
Creado hace 17a (25/09/2006)
Programación Orientada a

Objetos

Teoría: Begoña Moros Valle
Prácticas: Begoña Moros Valle

Jesús Sánchez Cuadrado

Contenido

• Presentación contenido teórico

• Presentación contenido práctico

• Introducción a la Programación Orientada

a Objetos

1

TEORÍA

Programación Orientada a Objetos

Curso 2006 / 2007

Objetivos

• Describir los conceptos que caracterizan

el modelo OO

• Valorar en qué medida las técnicas OO

favorecen la calidad del software

• Contrastar cómo diferentes

(Eiffel, Java, C++, C#)
conceptos del paradigma OO

lenguajes
los

reflejan

2

Programa de teoría

TEMA1: CALIDAD DEL SOFTWARE

Modularidad

• Extensibilidad
• Reutilización

• Variación de tipos
• Agrupar características
• Variación de algoritmos y est. de datos
• Independencia de la representación
• Factorizar comportamiento común

Ocultamiento de Información
Principio Abierto-Cerrado
Principio de Elección Única


TEMA 2 Clases y Objetos

Genericidad
Clase: estructura (ref)

comportamiento (mens)

Niveles de acceso a propiedades

TEMA 3 Corrección y

robustez

Asertos. Diseño por Contrato
Excepciones

• Fiabilidad

• Corrección
• Robustez
...

TEMA5 Herencia múltiple

TEMA4 Herencia

• Polimorfismo
• Ligadura dinámica
• Clases diferidas
• Código genérico

Evaluación de la asignatura

• Exámenes:
– 13 febrero
– 29 junio
– 7 septiembre

• NOTA = Teoría * 0’6 + Prácticas * 0’4

• El aprobado del examen o las prácticas

sólo se guardará durante un año.

3

Bibliografía básica

TEMA 1

TEMA 2

TEMA 3

TEMA 4

TEMA 5

x
x

x
x
x

x

x
x
x

x
x

x
x
x

x
x

x
x
x

x

Horario de atención alumnos

Teoría

Facultad de Informática (2ª planta): 2.37
Entrada al Depto



• Martes: 16:30 a 18:30
• Miércoles: 16:30 a 18:30
• Jueves: 11:00 a 13:00

4

PRÁCTICAS

Programación Orientada a Objetos

Curso 2006 / 2007

Objetivos

• Aprender el lenguaje de programación

Java

• Dominar las librerías básicas del lenguaje
• Practicar los conceptos de orientación a

objetos en Java

• Manejar un entorno de programación Java

5

Programa de Prácticas

• Introducción a Java
• Entorno de programación
• Sintaxis del lenguaje
• Clases y objetos
• Mecanismo de excepciones
• Cadenas y Entrada/Salida
• Herencia, clases abstractas
• Genericidad
• Interfaces
• Colecciones e Iteradores

Metodología

• Seminarios semanales.
• Prácticas laboratorio abierto.
• Ejercicios semanales.
• Entrevistas de control y revisión.
• Dos correcciones generales de prácticas.
• Defensa de prácticas al azar dentro del

grupo.

6

Modalidad de prácticas

• S3 (9 octubre):

– Práctica laboratorio cerrado: IDE Eclipse
– Empiezan seminarios en clase de teoría

• A partir de la S4 (16 octubre)
– Prácticas de laboratorio abierto

Práctica

• Desarrollo de un videojuego
• Grupos de 2 alumnos
• Propuesta de otra práctica para

Junio/Septiembre

• Entrega de prácticas en SUMA y en papel
• Entorno: ECLIPSE

7

Evaluación de las prácticas

• Penalización:

– Por faltar entrega programadas
– No hacer las correcciones de las entrevistas

• No realizar la primera entrega general

pérdida de convocatoria de febrero

• Defensa de prácticas

Horario de prácticas

• Seminario:

– Lunes de 12:00 – 13:00

• Laboratorio 1.3:

– Grupo 1: Martes de 18:30 – 20:30
– Grupo 2: Miércoles de 18:30 – 20: 30

• Tutorías:

– Begoña: teoría + Miércoles 18:30-20:30
– Jesús: Lunes de 11:00 – 14:00
Martes de 18:30 -20:30

8

Bibliografía Básica

• Gratuitos (versiones en PDF):

– Curso de Java en español. Iván Párraga García
– Tutorial de Eclipse. http://eclipsetutorial.forge.os4os.org/in1.htm
– Thinking in Java, 3ª edición (inglés), en español en la biblioteca

• Biblioteca:

– Java 2. Vol I. Fundamentos. Cay S. Horstmann, Gary Cornell
– Java 2. Vol II. Características Avanzadas. Cay S. Horstmann,

Gary Cornell

– El lenguaje de programación Java, de J. Gosling

– Effective Java. Programming Language Guide

INTRODUCCIÓN

Programación Orientada a Objetos

Curso 2006 / 2007

9

¿Qué significa Orientación a Objetos?
• El software se organiza como una colección de
objetos que contienen tanto estructura como
comportamiento.

¿Qué es el desarrollo OO?
• Una nueva forma de pensar acerca del software
basándose en abstracciones que existen en el
mundo real.

Bombilla

color
encender()
apagar()

Paradigma de programación

Colección de conceptos
que guían el proceso de
construcción de un programa, determinando su estructura.
Estos conceptos controlan la forma en que pensamos y
formulamos los programas.

• Un lenguaje de programación refleja un paradigma.

PARADIGMA

Imperativo
• Funcional
• Lógico
• Orientado a Objetos

LENGUAJE
C, Pascal, Cobol, ...
Lisp, Hope, Miranda, ...
Prolog, Parlog, ...
Smalltalk, C++, Eiffel, Java, ...

10

Marco Conceptual del paradigma OO

Programación Orientada a Objetos

Métodos de Análisis y Diseño OO

Modelo de Objetos

Abstracción
Encapsulación
Modularidad

Herencia

Polimorfismo

El futuro del paradigma OO
El futuro del paradigma OO

Bases de Datos OO

Desarrollo basado en componentes (CORBA COM, EJB, COM)

Tecnología de objetos distribuidos (CORBA, RMI, Plataforma .NET)

1
2
3
4
5

Titulación Ingeniero en Informática

(Plan 2002)

Metodología y tecnología de la programación

Algoritmos y estructuras de datos

POO (3T+3P)

Ingeniería de Requisitos

Análisis y diseño del Software

Ingeniería de SI

Intensificación en Tecnología del software:

- Ampliación de bases de datos
- Desarrollo de aplicaciones distribuidas
- Desarrollo basado en componentes
- Arquitectura del software

11

Problemas en la creación del software

• A finales de los 60 se acuñó el término crisis del software:

– Los proyectos no cumplían los plazos y presupuestos.

• Dificultades inherentes a la naturaleza del software:

– Complejidad

• dificultad de enumerar todos los estados posibles del programa
• dificultad de comunicación entre los miembros del equipo

– Conforme a otras interfaces
– Sujeto a continuos cambios
– El software es intangible, no tiene representación gráfica

• Especificación de requisitos completa, precisa y correcta.

Problemas en la creación del software

“La construcción de software siempre será una
tarea difícil. No hay bala de plata”

[Brooks, 1987]

• Soluciones:

– Reutilizar componentes (Comprar y no construir)
– Prototipado
– Buenos programadores/diseñadores

12

Historia de los LPOO

• 1964- SIMULA (Dahl y Nygaard):

– comienzo de la OO
– Se identificaba como lenguaje de simulación
– Ha influido en el desarrollo de otros LPOO

• 1972- SMALLTALK (Kay, Goldberg, Ingalls)

– Simula + LISP (sin tipos) -> LPOO puro
– Características de un LPOO [Byte81]:

• Todo es un objeto.
• Programa = cjto de objetos que se comunican mediante

mensajes

un objeto

• Todo objeto es instancia de una clase (tiene un tipo).
• La clase es el repositorio de comportamiento asociado con

• Las clases se organizan en jerarquías de herencia

Historia de los LPOO – Años 70-80
• “orientado a objetos” era sinónimo de “bueno”.
• Soportar el concepto de objeto no es suficiente.

BASADO EN
OBJETOS

+ clases

Ada, Modula 2

(1979)

BASADO EN

CLASES

+ herencia de clases

ORIENTADO
A OBJETOS

CLU
(1974)

Smalltalk
(1972)

[Wegner87]

13

Híbridos:

• Basados en C:

Historia de los LPOO - Años 80
• Proliferación de LPOO
• Clasificación atendiendo al origen:


B. Stroustrup
Brad Cox y Tom Love

Apple con Wirth
1988 Digital y Olivetti

1988

1972
1985



o C++
1985
o Objective-C
1983

o Object Pascal 1985
o Modula-3
o CLOS
o Smalltalk
o Eiffel



Alan Kay
Bertrand Meyer

• Basados en Pascal:

• Basados en Lisp:

Púros:



Historia de los LPOO – Años 90
• Aplicaciones centradas en el web
• 1995 JAVA- SUN

– “comportamiento” en páginas HTML
– Tecnología de implementación: bytecode+MV

• 2000 C# - Microsoft

– Plataforma .NET
– Máquina virtual para conseguir la portabilidad
– Combina Java y C++
– Son muchos los lenguajes que se están

migrando a la plataforma .NET

14
  • Links de descarga
http://lwp-l.com/pdf11482

Comentarios de: Programación Orientada a Objetos (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad