Documentos de Académico
Documentos de Profesional
Documentos de Cultura
04 Programacion Orientada A Objetos
04 Programacion Orientada A Objetos
Contenido
Introduccin histrica Conceptos bsicos de la Programacin O. O. Conceptos avanzados de la Programacin O.O.
Introduccin Histrica
Instrucciones Mquina Expresiones, Funciones Estr. Control, Subprogramas Ocultamiento Informacin, Interfaces Mtodos, Mensajes
Direcciones de Memoria, Registros Variables de Tipos Predef., Arrays Definicin de Tipos, Punteros Tipos Abstractos de Datos Clases, Objetos
A B S T R A C C I N D E D A T O S
PASCAL
Clases y Objetos
CLASE = SUBPROGRAMAS + VARIABLES
! Criterio de Modularizacin ! Estado + Comportamiento ! Entidad esttica ! Clase Tipo ! ! ! !
Entidad dinmica Cada objeto tiene su propio estado Objetos de una misma clase comparten un comportamiento Objeto Variable
VEHCULO ANIMAL
(5,2.5)
Qu es una Clase?
Caja negra que oculta en su implementacin:
Atributos: variables que codifican el estado de una instancia de la clase (objeto) Mtodos: subprogramas que describen el comportamiento de un objeto de la clase
Qu es un Objeto?
Instancia de una clase:
Cada objeto de una clase tiene su propia copia de los atributos (estado propio) Todos los objetos de una clase comparten los mismos mtodos (comportamiento comn)
10
El implementador se encarga de definir el interfaz y de desarrollar la implementacin El usuario emplear los objetos de la clase exclusivamente a travs del interfaz
Programacin Modular. Programacin Orientada a Objetos 11
Clase
Objetos
(Punto) x= 2 y= 3
(Punto) x= -1 y= 4 (Punto) x= 5 y= 7
12
13
Definicin de Mtodos
El objeto afectado no aparece como argumento del mtodo:
trasladar(E R dx,dy);
acceso total a otros objetos FIN Punto; de la misma clase 16 Programacin Modular. Programacin Orientada a Objetos
El usuario slo puede manipular un Punto a invocando a los mtodos del interfaz de la clase Punto (comportamiento)
Programacin Modular. Programacin Orientada a Objetos 17
Invocacin de Mtodos
Los mtodos se invocan mediante paso de mensajes:
P.trasladar(4,-1) = trasladar(P,4,-1)
18
Relacin de Composicin
la composicin permite expresar a una relacin de tipo est compuesto por Por ejemplo, un segmento est compuesto por dos puntos: origen y extremo
Punto R x,y; trasladar(a,b) distancia(pto) Segmento Punto Orig, Ext; trasladar(a,b) longitud()
19
20
22
Herencia
Posibilidad de reutilizar cdigo Algo ms que:
incluir ficheros, o importar mdulos
FiguraCerrada
Polgono
Elipse
Rectngulo
Programacin Modular. Programacin Orientada a Objetos
Rombo
23
Herencia
Padres / Ascendientes
Una clase heredera proporciona los atributos y mtodos de la clase heredada, Punto y puede aadir otros nuevos. La clase heredera puede modificar el comportamiento heredado (por ejemplo, redefiniendo algn mtodo heredado) . Partcula La herencia es transitiva. Los objetos de una clase que hereda de Hijos / Descendientes otra pueden verse como objetos de esta ltima.
Programacin Modular. Programacin Orientada a Objetos 24
Herencia Mltiple
Existen lenguajes con herencia mltiple, lo que permite que una clase reutilice la funcionalidad ofrecida por varias clases.
Pensionista TrabajadorActivo
MedioPensionista
25
Herencia y Redefinicin
En la herencia las clases herederas pueden heredar un mtodo o servicio, y luego redefinirlo, modificando su implementacin.
Suma de distancias entre puntos consecutivos
Polgono
Cuadrado R lado;
R permetro( );
Resultado = 4*lado
R perimetro( );
26
27