PDF de programación - Curso de Orientación a Objetos

Imágen de pdf Curso de Orientación a Objetos

Curso de Orientación a Objetosgráfica de visualizaciones

Publicado el 14 de Enero del 2017
1.083 visualizaciones desde el 14 de Enero del 2017
623,1 KB
28 paginas
Creado hace 12a (31/01/2012)
Programación Orientada a Objetos

Conceptos teóricos

Programación Orientada a Objetos

Profesor: David Contreras Bárcena

1

2

Contenido del Curso (I)

 1.- Introducción a la Tecnología Orientada a

Objetos

– 1.1.- Historia

– 1.2.- Lenguajes

– 1.3.- Impacto en la Ingeniería del Software

– 1.4.- Conclusión

David Contreras Bárcena - ICAI

Programación Orientada a Objetos

Conceptos teóricos

Contenido del Curso (II)

 2.- Programación Orientada a Objetos

– 2.1.- ¿Qué es la POO?

• 2.1.1.- Origen

• 2.1.2.- Introducción

• 2.1.3.- Conceptos Fundamentales

– Objetos, métodos, mensajes y clases

– 2.2.- Paradigmas de la POO
• 2.2.1.- Abstracción de Datos

• 2.2.2.- Encapsulamiento

• 2.2.3.- Ocultamiento

• 2.2.4.- Herencia

• 2.2.5.- Polimorfismo



David Contreras Bárcena - ICAI

Contenido del Curso (y III)

– 2.3.- Reusabilidad

– 2.4.- Ejemplos

David Contreras Bárcena - ICAI

3

4

Programación Orientada a Objetos

Conceptos teóricos

Capítulo 1

Introducción a la Tecnología

Orientada a Objetos

Simula-67

C ++

SmallTalk 80

David Contreras Bárcena - ICAI

5

1.1- Historia

 Nace en los años 60 aplicado a simulaciones de

sistemas físicos.

 Diseño del programa paralelamente al sistema

físico.

 Reduce la complejidad de las modificaciones:

modificación sistema modificación en el modelo



Motor

Dirección

Coche

Llantas

Ruedas
Neumáticos

Carrocería

N componentes

David Contreras Bárcena - ICAI

N módulos

6

Programación Orientada a Objetos

Conceptos teóricos

1.1- Historia (cont.)

 Ventajas de estos modelos

– Forma natural de afrontar un programa muy complejo:
• Algo obvio si se parte de la correspondencia entre el sistema y

el modelo

– Mantenimiento pasaba a ser controlable:

• Cambio de componentes sin necesidad de variar el resto del

modelo si no se varía el interfaz (parte visible del objeto).

• Simplifica las distintas variaciones sobre el modelo original.



REUSABILIDAD

David Contreras Bárcena - ICAI

7

1.2- Lenguajes

 Estas ideas se implementaron mediante SIMULA

67.

 En 1970 surge Smalltalk como entorno de

programación.

 En 1980 aparece un híbrido entre C y SmallTalk :

C++.

 En 1990 nace OAK, posteriormente se llamará *7.
Actualmente se le conoce como JAVA (También
influenciado por SmallTalk /V).


David Contreras Bárcena - ICAI

8

Programación Orientada a Objetos

Conceptos teóricos

1.2- Lenguajes (cont.)

 Hoy en día todos los lenguajes de programación

tienen su versión orientada a objeto:

– Cobol

– Fortran

– CLOS (Lisp OO)

– C++

David Contreras Bárcena - ICAI

9

1.2- Lenguajes (cont.)

FORTRAN

Algol

LISP

Sketchpad

Simula-67

SmallTalk 70

PASCAL

SmallTalk 80

C

Modula-2

Ada

60

70

80

CLOS

SmallTalk /V

Objetive-C

C ++

Object Pascal

Eiffel

Java
David Contreras Bárcena - ICAI

.NET

10

Programación Orientada a Objetos

Conceptos teóricos

1.3- Impacto en la Ingeniería del
Software
 Los principales autores de metodologías

estructuradas se han pasado a la orientación a
objetos (Yourdon, Mellor, Martin,..).

 En el entorno de las bases de datos se está

desarrollando el estándar SQL orientado a objetos:
SQL-3.

 En los sistemas operativos: NeXTstep, Windows

2000, Pink y FOOIS (Freedows).

David Contreras Bárcena - ICAI

11

1.3- Características del Software

 La complejidad es una característica intrínseca al

software.

 Sujeto a cambios.
 Soluciones para minimizar la complejidad.

– Lenguaje de alto nivel.
– Entornos de programación.
– Lenguajes de 4º Generación (4GL).
– Programación Orientada a Objeto (POO).
– Programación Visual.



David Contreras Bárcena - ICAI

12

Programación Orientada a Objetos

Conceptos teóricos

1.3- Complejidad del Software

Grado de
complejidad

COMPLEJIDAD

PROGRESO

L. Alto Nivel

4GL

....

POO

David Contreras Bárcena - ICAI

13

1.4 - Conclusión

 El software cada vez es más voluminoso y

complejo.

 El mantenimiento representa más del 70% del
coste del software, correspondiendo el 40% a
modificaciones producidas por nuevas
especificaciones del usuario.

 Gracias a ciertos mecanismos la OO ofrece una

alta reusablidad del código que genera.

 Los lenguajes más importantes en la actualidad

emplean esta tecnología.

David Contreras Bárcena - ICAI

14

Programación Orientada a Objetos

Conceptos teóricos

Capítulo 2

Programación Orientada a Objetos

David Contreras Bárcena - ICAI

15

2.1.1 - Origen

 Antecedentes:

– Tipos abstractos de datos (encapsulamiento,

ocultamiento, abstracción).

– Inteligencia artificial (herencia).

 Primer lenguaje:

– Simula 67, construido para simulación de sistemas de

telefonía.

– Smalltalk (1980), materializa conceptos como la

herencia.

David Contreras Bárcena - ICAI

16

Programación Orientada a Objetos

Conceptos teóricos

2.1.2 - Introducción

 Todo se agrupa como objetos.

 Simplificación de la realidad reflejando todo lo

que nos interesa de ella en forma de objetos.

 Grado de abstracción del modelo vendrá definido

por el analista del sistema.

 Objetivo: productos software de calidad.



David Contreras Bárcena - ICAI

17

2.1.3 - ¿Qué es un objeto?

 Cualquier ente real o abstracto.

 Identidad única.

 Nos interesa su estado y comportamiento.



“un objeto es cualquier cosa real o abstracta del
cual nos interesa su comportamiento y tiene una
identidad única que le distingue de los demás”

David Contreras Bárcena - ICAI

18

Programación Orientada a Objetos

Conceptos teóricos

2.1.3 - Ejemplo de objeto

“un objeto es cualquier cosa real o abstracta del
cual nos interesa su comportamiento y tiene una
identidad única que le distingue de los demás”

David Contreras Bárcena - ICAI

19

2.1.3 - Análisis de un problema

IDENTIFICACIÓN Y

ESTUDIO DEL

PROBLEMA

GRADO DE

ABSTRACCIÓN

IDENTIFICACIÓN DE

LOS OBJETOS

GRADO DE

ABSTRACCIÓN

INFORMACIÓN QUE
REVELE SU ESTADO
Y COMPORTAMIENTO

20

David Contreras Bárcena - ICAI

Programación Orientada a Objetos

Conceptos teóricos

2.1.3 – Atributos y métodos de un objeto

OBJETO

Atributos

Métodos

Datos - Variables Miembro

Operaciones - Funciones Miembro

Información que posee cada
objeto que le identifica y
diferencia del resto de objetos
del mismo tipo. A estos datos
sólo se puede acceder haciendo
referencia al propio objeto.

Son acciones que van a
manipular los datos. Los
denominaremos métodos.
Van a ser los únicos que
tengan acceso a los datos.

David Contreras Bárcena - ICAI

21

2.1.3 - Caso práctico de un objeto

Modelo Físico

Botón para mostrar la Hora

Botón para mostrar el Día

Modelo Informático

reloj

Atributos

hora (horas, min, seg)
día (dia, mes, año)
modelo
numSerie



Métodos

getHora
getDía
incrementarHora
incrementarDía
limpiarPantalla
traducirFrecuencia


...

22

David Contreras Bárcena - ICAI

Programación Orientada a Objetos

Conceptos teóricos

2.1.3 - Estructura de un objeto

OBJETO

Métodos u
Operaciones

Operaciones
permitidas.
Pueden estar o no
ocultas para el
usuario.

métodoUno

métodoDos

atributoUno
atributoDos

….

atributoN

...

métodoN

Atributos o
Datos

Estructura
encapsulada de
los datos.

Lo que realmente nos interesa de un objeto es su estado, que viene dada por

su información.

David Contreras Bárcena - ICAI

23

2.1.3 - Estructura de un objeto

reloj

getHora

hora
día

numSerie

modelo

getDía

incrementarDía:

incrementarHora:

traducirFrecuencia

limpiarPantalla

David Contreras Bárcena - ICAI

24

Programación Orientada a Objetos

Conceptos teóricos

2.1.3 - Métodos



 La única manera de acceder a los datos del objeto

es a través de métodos.


 Son un conjunto de instrucciones, como una rutina,

al cual se le pueden pasar también argumentos y/o
devolver un resultado.

 No debe hacer referencia a los datos de otro objeto.

 Cada método manipulará los atributos del objeto

donde se ejecute.

 Tiene carácter local, no global. Cualquier variable

creada en él dejará de existir al finalizar dicho
método.

25

David Contreras Bárcena - ICAI

2.1.3 - Métodos



 En la definición de métodos, se seguirá la

siguiente nomenclatura:



– getNombreAtributo(): Método que devuelve el valor del



atributo.

– setNombreAtributo(valor): Asigna un valor al atributo.

– isNombreAtributo(): Devuelve un valor booleano.



David Contreras Bárcena - ICAI

26

Programación Orientada a Objetos

Conceptos teóricos

2.1.3 - Formato de los Mensajes

OBJETO MÉTODO

(ARGUMENTO)

Mensaje

Objeto

Los métodos pueden recibir argumentos o no, dependiendo de su naturaleza

La nomenclatura puede variar dependiendo del lenguaje que utilicemos

SmallTalk /V

Java

C ++

objeto metodo: argumento

objeto.metodo (argumento) objeto.metodo (argumento)

David Contreras Bárcena - ICAI

27

2.1.3 - Métodos

int getDía()

{

return día;

}

getDía()

reloj

getHora()

hora
día

numSerie

modelo

void incrementarDía(n)

{

día = día + n;

}

incrementarDía()

incrementarHora()

traducirFrecuencia()

limpiarPantalla()

David Contreras Bárcena - ICAI

28





denominan mensajes.

Programación Orientada a Objetos

Conceptos teóricos

2.1.3 - Mensajes



 Las solicitudes que invocan los métodos se

 Un mensaje va dirigido para realizar una

operación concreta sobre un objeto determinado.

 Son el único modo de referirse a un objeto.

Objeto
Origen

Dame tu nombre

Mensajes

Toma mi nombre

Objeto
Destino

David Contreras Bárcena - ICAI

29

2.1.3 - Mensajes



 Los mensajes que nosotros mandemos al reloj,



llevados a la vida real, serán apretar cada uno de
los botones.


Botón para mostrar
  • Links de descarga
http://lwp-l.com/pdf591

Comentarios de: Curso de Orientación 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