PROGRAMACIÓN ORIETADA A OBJETOS. 2 Introducción Paradigma: Ejemplo ilustrativo, enunciado modelo ...
-
Upload
chus-cordero -
Category
Documents
-
view
217 -
download
0
Transcript of PROGRAMACIÓN ORIETADA A OBJETOS. 2 Introducción Paradigma: Ejemplo ilustrativo, enunciado modelo ...
PROGRAMACIÓN ORIETADA A OBJETOS
2
Introducción
Paradigma: Ejemplo ilustrativo, enunciado modelo
Programación imperativa
Programación funcional
Programación lógicaNuevo Paradigma:
Programación orientada a objeto (POO).
3
Programación Procedimental
Procedimiento 1
Procedimiento 2
Procedimiento 3
DATOS
4
Programación Orientada a Objetos
Métodos
DATOS
Métodos
DATOS
Métodos Métodos
DATOS DATOS
5
Facilita la creación de software de calidad por sus factores que potencian:
El mantenimiento
La extensión y
La reutilización del software generado bajo este paradigma.
La POO se basa en la idea natural de la existencia de un mundo lleno de objetos y que la resolución del problema se realiza en términos de objetos.
POO
6
La visión de Objetos:
MesasSillasComputadoresAutosCuentas bancariasPartidos de fútbolPerros, etc
POO
7
Los objetos se pueden Organizar según su necesidad
Mamíferos : Perros, Gatos Electrodomésticos : Refrigerador,
Microondas Deportes : Fútbol, Tenis Vehículos : Autos, Camiones
POO
8
METODOLOGÍA
9
La base de esta tecnología es:
Modelar
con base en
Entidades
Los problemas que se desean resolver
Relevantes y tangibles en el problema.
Modelamiento
10
Abstracción
El modelo define una perspectiva abstracta del problema
Los datos que son afectados
Las operaciones que se aplican sobre los datos
11
Ejemplo
Para la administración docente, las entidades que participan son:
Administr. Docente
Profesores
Asignaturas
Alumnos
Salas
12
POO
Identificar los objetos importantes
Organizar los objetos en jerarquías
Otorgar atributos relevantes a los
objetos, que describirán las
características de ellos.
Agregar funciones a los objetos para
realizar las tareas necesarias
13
Conceptos de la POO
Conceptos fundamentales que sustentan la POO
Clase
Objeto
Instancia
Atributos
Métodos
La POO trata de amoldarse al modo de pensar del hombre y no al de la máquina
14
Clase
Una clase es como un tipo de dato creado por el usuario, que posee campos:
Atributos: Datos, EstadoMétodos: Comportamiento
15
Clase
En general, podemos crear una clase inspirados en cualquier objeto que esté a nuestro alrededor, como puede ser:
PersonaAutoMascota
16
Instancias-Objetos
Una Instancia es una ocurrencia de la clase.
Al momento de crear un objeto se produce la instanciación
Un Objeto es una instancia de una Clase específica.
17
Instancias-Objetos
EJEMPLO:
Supongamos que existe una clase Perro.
Mi mascota Sam, es una instancia de esa clase, ie, un objeto de tipo Perro.
El perro Jack de mi vecina es una instancia de
la misma clase Perro y, en consecuencia, otro objeto del mismo tipo.
18
Atributos
Son aquellas características que le asociamos a un tipo de objeto (clase) y que darán cuenta del estado del objeto.
Raza Edad Color Nombre del dueño, etc
19
Métodos
Representan todas aquellas acciones que puede realizar o se pueden llevar a cabo sobre un objeto de una clase.
En la implementación, estos métodos son segmentos de código similares a los procedimientos y funciones utilizadas en la programación modular.
La clase Perro puede tener los métodos: Correr, Comer, Bañar Vacunar
20
Principios de la P OO
Propiedades, que lo llevan a ser un estilo de desarrollo que permite crear código re-utilizable
Encapsulamiento
Herencia
Polimorfismo
21
ENCAPSULAMIENTOAbstracción de Datos
22
Encapsulamiento
Proceso por el que se ocultan las:Estructuras de DatosLos detalles de la implementación
Permite considerar a los objetos como "cajas negras", evitando que otros objeto accedan a detalles que NO LES INTERESA.
Una vez creada la clase, las funciones usuarias no requieren conocer los detalles de su implementación.
23
Encapsulamiento
Todos ellos están encapsulados o contenidos dentro de la misma clase, de manera que son propiedad de dicha clase.
Esos métodos y atributos pueden ser utilizados por otras clases sólo si la clase que los encapsula le brinda los permisos necesarios para ello.
Toda clase tiene una serie de atributos y métodos asociados a ella.
24
Encapsulamiento
NúmeroSaldo
Atributos de una Cuenta Corriente:
Métodos: Depositar
Girar
Conocer el saldo
Cómo se almacenan estos datos?
25
HERENCIAOrganización jerárquica
26
Herencia
Permite la reutilización de código creando nuevas clases a partir de las existentes (construidas y depuradas)
Un nueva clase se generará agregando atributos y/o código a una clase existente
Una clase (clase hija) puede heredar, de otra clase (clase padre):
Atributos y Métodos
27
Herencia
Em pleadoS u e ld o
ClienteC u en ta
Alum noC arre ra
PersonaN om b re
D irecc ió nR U T
28
POLIMORFISMO
29
Polimorfismo
Capacidad de que dos clases diferentes respondan de forma distinta a un mismo mensaje.
Esto quiere decir que dos clases que tengan un método con el mismo nombre, y que respondan al mismo tipo de mensaje (es decir, que reciba los mismo parámetros), ejecutarán acciones distintas.
30
Ejemplos de polimorfosmo
Ejemplo 1:
Al presionar el acelerador esperamos que aumente la velocidad del auto, independiente de si se tiene un:
Motor con carburador Motor con inyección electrónica
31
Ejemplos de polimorfosmo
Ejemplo 2:
Si tenemos las clases Persona y Gato, ambas responderán de manera distinta al mensaje "comunicar"
La persona hablará: Objeto María El gato maullará: Objeto: Kitty
32
Ejemplos de polimorfosmo
OBJETOS
'A'
3
MENSAJESucesor
RESULTADOS
'B'
4
Ejemplo 3:
Si tenemos las clases Entero y Char, ambas
responderán de manera distinta al mensaje
"Sucesor"
OBJETOS
34
Objetos
En la POO se dice que en un objeto: "se unen datos y procesos".
En la programación estructurada, estaban separados en forma de variables y funciones.
Objeto. Instanciación de objetos Tiempo de vida de un objeto
variable.
declaración de variables.
ámbito de una variable.
POO Procedural
35
Objetos
Un objeto consta de:
Un tiempo de vida Estado Comportamiento
Atributos
Métodos
Cada objeto es responsable de inicializarse y destruirse en forma correcta.
36
La duración de un objeto en un programa siempre está limitada en el tiempo.
Tiempo de vida de un objeto
La mayoría de los objetos sólo existen durante una parte de la ejecución del programa.
Los objetos son creados mediante un mecanismo denominado instanciación,
Cuando dejan de existir se dice que son destruidos.
37
Queda definido por sus atributos.
Con él se definen las propiedades del objeto, y el estado en que se encuentra en un momento determinado de su existencia.
Estado de un objeto
38
Todo objeto debe de presentar una interfaz,
Esta interfaz queda definida por sus métodos, para que el resto de objetos, que forman parte del programa, puedan interactuar con él.
Comportamiento de un objeto
CLASES
40
Clases
Las clases son abstracciones que representan a un conjunto de objetos con un:
Comportamiento e Interfaz común.
Es la implementación de un tipo de dato (considerando los objetos como instancias de las clases)"
41
Clases
Permite representar y definir colecciones de objetos.
Proporcionan una plantilla para la creación de objetos..Los elementos que componen la clase son
Atributos
Métodos
Clase:
Representan el estado de un objeto (Variables de ejemplar)
Representan el comportamiento de un objeto. (Funciones miembro).
42
Ejemplo de instancia de objetos
Clase: Cuenta corriente
Variables Miembro: Número Nombre Saldo
Funciones Miembros: Depositar Girar Consulta del saldo
43
Ejemplo de instancia de objetos
Clase: Cuenta corriente
Objeto: A
Métodos
Depositar
Girar
Consultar
Num: 1234
Nombre: Juan
Saldo: 350.000
Instanciación: Cuenta Corriente A,B
Métodos
Depositar
Girar
Consultar
Num: 9876
Nombre: María
Saldo: 450.600
Objeto: B
MENSAJES
45
Mensaje
Un programa en ejecución es una colección de objetos, donde los objetos que interactúan son creados y destruídos.
La interacción se basa en mensajes que son mandados de un objeto a otro, donde el emisor le pide al receptor que aplique un método a sí mismo.
Mecanismo por el cual se solicita una acción sobre el objeto.
46
Mensajes
Perico (pajarero)Paco (cliente)
Mensaje
La interpretación del mensaje dependerá del receptor
Peca (secretaria)
Perico (pajarero)Paco (cliente)
Un objeto invoca un método como una reacción al recibir un mensaje
METODOS
48
Métodos
Función miembro de una clase.
Establece el comportamiento del objeto
Opera directamente sobre el objeto que lo invocó.
Recibe, como parámetro implícito el objeto que lo invocó.
49
Métodos
Si el método requiere otros objetos de la clase, éstos deberán ser pasados como parámetros explícitos y el método sólo podrá acceder en forma indirecta a estos objetos.
Ejemplos: Depositar Girar Consultar
RESUMEN
51
Mensajes y métodos
Un objeto (agente emisor) envía un mensaje a otro objeto (agente receptor).
El mensaje tiene codificada la petición de una acción.
El mensaje incluye la información (argumentos) necesaria para satisfacer la petición.
Si el receptor acepta el mensaje, acepta la responsabilidad de ejecutar la acción indicada.
En respuesta a un mensaje, el receptor ejecuta un método para satisfacer la petición
52
Clases y ejemplares
Todos los objetos son ejemplares de una clase.
La clase del receptor determina el método que se activa como respuesta a un mensaje.
Todos los objetos de una clase usan el mismo método en respuesta a mensajes similares
53
Clases y métodos
Los objetos son ejemplos de TAD’s.Un TAD tiene dos caras: una exterior, la que ve el usuario, y una interior, la que sólo ve el programador.El usuario ve nada más que un conjunto de operaciones que definen el comportamiento de la abstracción.El programador ve las variables de datos que se usan para mantener el estado interno del objeto.Un ejemplar es un representante de una clase.
54
Clases y métodos
Una variable de ejemplar es una variable interna mantenida por un ejemplar.Cada ejemplar tiene su propia colección de variables de ejemplar.Las variables de ejemplar sólo son modificables por los métodos definidos en la clase.Un objeto es la combinación de estado y comportamiento.
55
Clases y métodos
El estado lo determinan las variables de ejemplar.El comportamiento lo determinan los métodos.Desde el exterior, los clientes sólo pueden ver el comportamiento de los objetos.Desde el interior, los métodos proporcionan el comportamiento apropiado mediante las modificaciones del estado.
56
Clases y métodos
La interfaz describe la forma en que un objeto se conecta con el mundo.La implementación describe cómo se logra la responsabilidad prometida en la interfaz.
Una clase se puede concebir como un registro con dos variedades de campos: datos y procedimientos.Los datos constituyen las variables de ejemplar.Los procedimientos constituyen los métodos.