Programación Orientada a Objetos · Programación Orientada a Objetos (POO) 3 Programación...
Transcript of Programación Orientada a Objetos · Programación Orientada a Objetos (POO) 3 Programación...
![Page 1: Programación Orientada a Objetos · Programación Orientada a Objetos (POO) 3 Programación Procedimental Procedimiento 1 Procedimiento 2 Procedimiento 3 D A T O S. 4 Programación](https://reader036.fdocuments.ec/reader036/viewer/2022062403/5fd06cbe5c47f553b07a720d/html5/thumbnails/1.jpg)
PROGRAMACIÓN ORIETADA A OBJETOS
![Page 2: Programación Orientada a Objetos · Programación Orientada a Objetos (POO) 3 Programación Procedimental Procedimiento 1 Procedimiento 2 Procedimiento 3 D A T O S. 4 Programación](https://reader036.fdocuments.ec/reader036/viewer/2022062403/5fd06cbe5c47f553b07a720d/html5/thumbnails/2.jpg)
2
Introducción
Paradigma: Ejemplo ilustrativo, enunciado modelo Programación imperativa
Programación funcional
Programación lógica
Nuevo Paradigma: Programación Orientada a Objetos (POO)
![Page 3: Programación Orientada a Objetos · Programación Orientada a Objetos (POO) 3 Programación Procedimental Procedimiento 1 Procedimiento 2 Procedimiento 3 D A T O S. 4 Programación](https://reader036.fdocuments.ec/reader036/viewer/2022062403/5fd06cbe5c47f553b07a720d/html5/thumbnails/3.jpg)
3
Programación Procedimental
Procedimiento 1
Procedimiento 2
Procedimiento 3
DATOS
![Page 4: Programación Orientada a Objetos · Programación Orientada a Objetos (POO) 3 Programación Procedimental Procedimiento 1 Procedimiento 2 Procedimiento 3 D A T O S. 4 Programación](https://reader036.fdocuments.ec/reader036/viewer/2022062403/5fd06cbe5c47f553b07a720d/html5/thumbnails/4.jpg)
4
Programación Orientada a Objetos
Métodos
DATOS
Métodos
DATOS
Métodos Métodos
DATOS DATOS
![Page 5: Programación Orientada a Objetos · Programación Orientada a Objetos (POO) 3 Programación Procedimental Procedimiento 1 Procedimiento 2 Procedimiento 3 D A T O S. 4 Programación](https://reader036.fdocuments.ec/reader036/viewer/2022062403/5fd06cbe5c47f553b07a720d/html5/thumbnails/5.jpg)
5
Facilita la creación de software de calidad puessus características potencian: La mantención
La extensión y
La reutilización del software generado bajo esteparadigma
La POO se basa en la idea natural de un mundolleno de objetos y que la resolución de problemasse realiza mediante el modelo de objetos
POO
![Page 6: Programación Orientada a Objetos · Programación Orientada a Objetos (POO) 3 Programación Procedimental Procedimiento 1 Procedimiento 2 Procedimiento 3 D A T O S. 4 Programación](https://reader036.fdocuments.ec/reader036/viewer/2022062403/5fd06cbe5c47f553b07a720d/html5/thumbnails/6.jpg)
6
La visión de Objetos:
MesasSillasComputadoresAutosCuentas bancariasPartidos de fútbolPerros, etc
POO
![Page 7: Programación Orientada a Objetos · Programación Orientada a Objetos (POO) 3 Programación Procedimental Procedimiento 1 Procedimiento 2 Procedimiento 3 D A T O S. 4 Programación](https://reader036.fdocuments.ec/reader036/viewer/2022062403/5fd06cbe5c47f553b07a720d/html5/thumbnails/7.jpg)
7
Los objetos se pueden Organizar según sunecesidad
Mamíferos : Perro, CiervoTeléfonos : Fijo, CelularDeportes : Fútbol, TenisVehículos : Automóvil, Camión
POO
![Page 8: Programación Orientada a Objetos · Programación Orientada a Objetos (POO) 3 Programación Procedimental Procedimiento 1 Procedimiento 2 Procedimiento 3 D A T O S. 4 Programación](https://reader036.fdocuments.ec/reader036/viewer/2022062403/5fd06cbe5c47f553b07a720d/html5/thumbnails/8.jpg)
8
METODOLOGÍA
![Page 9: Programación Orientada a Objetos · Programación Orientada a Objetos (POO) 3 Programación Procedimental Procedimiento 1 Procedimiento 2 Procedimiento 3 D A T O S. 4 Programación](https://reader036.fdocuments.ec/reader036/viewer/2022062403/5fd06cbe5c47f553b07a720d/html5/thumbnails/9.jpg)
9
La base de esta tecnología es:
Modelamiento
Modelar
con base en
Entidades
Los problemas
que se desea
resolver
Relevantes y
tangibles en el
problema
![Page 10: Programación Orientada a Objetos · Programación Orientada a Objetos (POO) 3 Programación Procedimental Procedimiento 1 Procedimiento 2 Procedimiento 3 D A T O S. 4 Programación](https://reader036.fdocuments.ec/reader036/viewer/2022062403/5fd06cbe5c47f553b07a720d/html5/thumbnails/10.jpg)
10
El modelo define una perspectiva abstracta del problema Los datos que son afectados
Las operaciones que se aplican sobre los datos
Abstracción
![Page 11: Programación Orientada a Objetos · Programación Orientada a Objetos (POO) 3 Programación Procedimental Procedimiento 1 Procedimiento 2 Procedimiento 3 D A T O S. 4 Programación](https://reader036.fdocuments.ec/reader036/viewer/2022062403/5fd06cbe5c47f553b07a720d/html5/thumbnails/11.jpg)
11
Ejemplo
Para la administración docente, las entidades que participan son:
Administr. Docente
Profesores
Asignaturas
Alumnos
Salas
![Page 12: Programación Orientada a Objetos · Programación Orientada a Objetos (POO) 3 Programación Procedimental Procedimiento 1 Procedimiento 2 Procedimiento 3 D A T O S. 4 Programación](https://reader036.fdocuments.ec/reader036/viewer/2022062403/5fd06cbe5c47f553b07a720d/html5/thumbnails/12.jpg)
12
POO
Identificar los objetos importantes
Organizar los objetos en jerarquías
Otorgar, a los objetos, atributos relevantes quedescriban sus características
Proveer, a cada objeto, las funciones inherentes asu comportamiento
![Page 13: Programación Orientada a Objetos · Programación Orientada a Objetos (POO) 3 Programación Procedimental Procedimiento 1 Procedimiento 2 Procedimiento 3 D A T O S. 4 Programación](https://reader036.fdocuments.ec/reader036/viewer/2022062403/5fd06cbe5c47f553b07a720d/html5/thumbnails/13.jpg)
13
Conceptos de la POO
La POO trata de aproximarse al modo de actuar del hombre y no al de la máquina
Conceptos fundamentales que sustentan la POO:
Clase
Objeto
Instancia
Atributos
Métodos
![Page 14: Programación Orientada a Objetos · Programación Orientada a Objetos (POO) 3 Programación Procedimental Procedimiento 1 Procedimiento 2 Procedimiento 3 D A T O S. 4 Programación](https://reader036.fdocuments.ec/reader036/viewer/2022062403/5fd06cbe5c47f553b07a720d/html5/thumbnails/14.jpg)
14
Clase
Una clase es como un tipo de dato creado por elusuario, que posee dos categorías de miembros:
Atributos (Datos) Estado
Métodos (Algoritmos) Comportamiento
![Page 15: Programación Orientada a Objetos · Programación Orientada a Objetos (POO) 3 Programación Procedimental Procedimiento 1 Procedimiento 2 Procedimiento 3 D A T O S. 4 Programación](https://reader036.fdocuments.ec/reader036/viewer/2022062403/5fd06cbe5c47f553b07a720d/html5/thumbnails/15.jpg)
15
Clase
En general, es posible crear una clase a partir decualquier objeto que esté a nuestro alrededor. Porejemplo:
Persona
Automóvil
Mascota
![Page 16: Programación Orientada a Objetos · Programación Orientada a Objetos (POO) 3 Programación Procedimental Procedimiento 1 Procedimiento 2 Procedimiento 3 D A T O S. 4 Programación](https://reader036.fdocuments.ec/reader036/viewer/2022062403/5fd06cbe5c47f553b07a720d/html5/thumbnails/16.jpg)
16
Instancias-Objetos
Una Instancia es una ocurrencia de la clase
Al momento de crear un objeto se produce lainstanciación
Un Objeto es una instancia de una Clase específica
![Page 17: Programación Orientada a Objetos · Programación Orientada a Objetos (POO) 3 Programación Procedimental Procedimiento 1 Procedimiento 2 Procedimiento 3 D A T O S. 4 Programación](https://reader036.fdocuments.ec/reader036/viewer/2022062403/5fd06cbe5c47f553b07a720d/html5/thumbnails/17.jpg)
17
Instancias-Objetos
EJEMPLO:
Suponer que existe la clase Vehículo
El auto patente WF-4631 es una instancia de laclase Vehículo, o sea, un objeto de esa clase
La camioneta patente ZT-9283 es otra instanciade la clase Vehículo
![Page 18: Programación Orientada a Objetos · Programación Orientada a Objetos (POO) 3 Programación Procedimental Procedimiento 1 Procedimiento 2 Procedimiento 3 D A T O S. 4 Programación](https://reader036.fdocuments.ec/reader036/viewer/2022062403/5fd06cbe5c47f553b07a720d/html5/thumbnails/18.jpg)
18
Atributos
Son los datos que caracterizan a los objetos de unaclase y determinan el estado de un objeto
Marca Año Color Patente, etc.
![Page 19: Programación Orientada a Objetos · Programación Orientada a Objetos (POO) 3 Programación Procedimental Procedimiento 1 Procedimiento 2 Procedimiento 3 D A T O S. 4 Programación](https://reader036.fdocuments.ec/reader036/viewer/2022062403/5fd06cbe5c47f553b07a720d/html5/thumbnails/19.jpg)
19
Métodos
Representan todas aquellas acciones que se puedenrealizar sobre un objeto de cierta clase
En la implementación, estos métodos sonsegmentos de código en la forma de funciones
La clase Vehículo puede incluir los métodos:
Encender
Acelerar
Virar
Frenar
![Page 20: Programación Orientada a Objetos · Programación Orientada a Objetos (POO) 3 Programación Procedimental Procedimiento 1 Procedimiento 2 Procedimiento 3 D A T O S. 4 Programación](https://reader036.fdocuments.ec/reader036/viewer/2022062403/5fd06cbe5c47f553b07a720d/html5/thumbnails/20.jpg)
20
Principios de la POO
Propiedades, que lo llevan a ser un estilo dedesarrollo que permite crear código re-utilizable
Encapsulamiento
Herencia
Polimorfismo
![Page 21: Programación Orientada a Objetos · Programación Orientada a Objetos (POO) 3 Programación Procedimental Procedimiento 1 Procedimiento 2 Procedimiento 3 D A T O S. 4 Programación](https://reader036.fdocuments.ec/reader036/viewer/2022062403/5fd06cbe5c47f553b07a720d/html5/thumbnails/21.jpg)
21
ENCAPSULAMIENTOAbstracción de Datos
![Page 22: Programación Orientada a Objetos · Programación Orientada a Objetos (POO) 3 Programación Procedimental Procedimiento 1 Procedimiento 2 Procedimiento 3 D A T O S. 4 Programación](https://reader036.fdocuments.ec/reader036/viewer/2022062403/5fd06cbe5c47f553b07a720d/html5/thumbnails/22.jpg)
22
Encapsulamiento
Proceso por el que se ocultan:Las estructuras de datosLos detalles de la implementación
Permite considerar a los objetos como "cajasnegras", evitando que otros objetos accedan adetalles que NO LES INTERESA
Una vez creada la clase, las funciones usuarias norequieren conocer los detalles de su implementación
![Page 23: Programación Orientada a Objetos · Programación Orientada a Objetos (POO) 3 Programación Procedimental Procedimiento 1 Procedimiento 2 Procedimiento 3 D A T O S. 4 Programación](https://reader036.fdocuments.ec/reader036/viewer/2022062403/5fd06cbe5c47f553b07a720d/html5/thumbnails/23.jpg)
23
Encapsulamiento
Toda clase tiene un conjunto de atributos ymétodos asociados a ella
Todos ellos están encapsulados o contenidosdentro de la misma clase, de manera que sonmiembros de dicha clase
Esos métodos y atributos pueden ser utilizados porotras clases sólo si la clase que los encapsula lesbrinda los permisos necesarios para ello
![Page 24: Programación Orientada a Objetos · Programación Orientada a Objetos (POO) 3 Programación Procedimental Procedimiento 1 Procedimiento 2 Procedimiento 3 D A T O S. 4 Programación](https://reader036.fdocuments.ec/reader036/viewer/2022062403/5fd06cbe5c47f553b07a720d/html5/thumbnails/24.jpg)
24
Encapsulamiento
Atributos de una Cuenta Corriente: Número
Saldo
Métodos: Depositar
Girar
Conocer el saldo
¿Cómo se almacenan estos datos?
![Page 25: Programación Orientada a Objetos · Programación Orientada a Objetos (POO) 3 Programación Procedimental Procedimiento 1 Procedimiento 2 Procedimiento 3 D A T O S. 4 Programación](https://reader036.fdocuments.ec/reader036/viewer/2022062403/5fd06cbe5c47f553b07a720d/html5/thumbnails/25.jpg)
25
HERENCIAOrganización jerárquica
![Page 26: Programación Orientada a Objetos · Programación Orientada a Objetos (POO) 3 Programación Procedimental Procedimiento 1 Procedimiento 2 Procedimiento 3 D A T O S. 4 Programación](https://reader036.fdocuments.ec/reader036/viewer/2022062403/5fd06cbe5c47f553b07a720d/html5/thumbnails/26.jpg)
26
Herencia
Permite reutilizar código creando nuevas clases apartir de las existentes (construidas y depuradas)
Compromete una relación de jerarquía (es-un)
Una nueva clase se generará agregando atributosy/o código a una clase existente
Una clase (derivada) puede heredar de otra clase(base):
Atributos y
Métodos
![Page 27: Programación Orientada a Objetos · Programación Orientada a Objetos (POO) 3 Programación Procedimental Procedimiento 1 Procedimiento 2 Procedimiento 3 D A T O S. 4 Programación](https://reader036.fdocuments.ec/reader036/viewer/2022062403/5fd06cbe5c47f553b07a720d/html5/thumbnails/27.jpg)
27
Herencia
EmpleadoSueldo
ClienteCuenta
AlumnoCarrera
PersonaNombre
Dirección
RUT
![Page 28: Programación Orientada a Objetos · Programación Orientada a Objetos (POO) 3 Programación Procedimental Procedimiento 1 Procedimiento 2 Procedimiento 3 D A T O S. 4 Programación](https://reader036.fdocuments.ec/reader036/viewer/2022062403/5fd06cbe5c47f553b07a720d/html5/thumbnails/28.jpg)
28
POLIMORFISMO
![Page 29: Programación Orientada a Objetos · Programación Orientada a Objetos (POO) 3 Programación Procedimental Procedimiento 1 Procedimiento 2 Procedimiento 3 D A T O S. 4 Programación](https://reader036.fdocuments.ec/reader036/viewer/2022062403/5fd06cbe5c47f553b07a720d/html5/thumbnails/29.jpg)
29
Polimorfismo
Capacidad que permite a dos clases diferentesresponder de forma distinta a un mismo mensaje
Esto significa que dos clases que tengan un métodocon el mismo nombre y que respondan al mismo tipode mensaje (es decir, que reciban los mismoparámetros), ejecutarán acciones distintas
![Page 30: Programación Orientada a Objetos · Programación Orientada a Objetos (POO) 3 Programación Procedimental Procedimiento 1 Procedimiento 2 Procedimiento 3 D A T O S. 4 Programación](https://reader036.fdocuments.ec/reader036/viewer/2022062403/5fd06cbe5c47f553b07a720d/html5/thumbnails/30.jpg)
30
Ejemplo 1:
Al presionar el acelerador esperamos queaumente la velocidad del auto, independiente desi se tiene un:
Motor con carburador
Motor con inyección electrónica
Polimorfismo
![Page 31: Programación Orientada a Objetos · Programación Orientada a Objetos (POO) 3 Programación Procedimental Procedimiento 1 Procedimiento 2 Procedimiento 3 D A T O S. 4 Programación](https://reader036.fdocuments.ec/reader036/viewer/2022062403/5fd06cbe5c47f553b07a720d/html5/thumbnails/31.jpg)
31
OBJETOS
'A'
3
MENSAJESucesor
RESULTADOS
'B'
4
Ejemplo 2:
Si se tienen las clases Entero y Char, ambas
responderán de manera distinta al mensaje
"Sucesor"
Polimorfismo
![Page 32: Programación Orientada a Objetos · Programación Orientada a Objetos (POO) 3 Programación Procedimental Procedimiento 1 Procedimiento 2 Procedimiento 3 D A T O S. 4 Programación](https://reader036.fdocuments.ec/reader036/viewer/2022062403/5fd06cbe5c47f553b07a720d/html5/thumbnails/32.jpg)
OBJETOS
![Page 33: Programación Orientada a Objetos · Programación Orientada a Objetos (POO) 3 Programación Procedimental Procedimiento 1 Procedimiento 2 Procedimiento 3 D A T O S. 4 Programación](https://reader036.fdocuments.ec/reader036/viewer/2022062403/5fd06cbe5c47f553b07a720d/html5/thumbnails/33.jpg)
33
Objetos
En la POO se dice que un objeto: "integradatos y algoritmos"
En la programación estructurada, variables yfunciones están separadas
Clase
Objeto
Instanciación de objetos
Tipo
Variable
Declaración de variables
POO Procedural
![Page 34: Programación Orientada a Objetos · Programación Orientada a Objetos (POO) 3 Programación Procedimental Procedimiento 1 Procedimiento 2 Procedimiento 3 D A T O S. 4 Programación](https://reader036.fdocuments.ec/reader036/viewer/2022062403/5fd06cbe5c47f553b07a720d/html5/thumbnails/34.jpg)
34
Objetos
Cada objeto es responsable de inicializarse ydestruirse en forma correcta
Un objeto consta de:
Tiempo de vida
Estado
Comportamiento
Atributos
Métodos
![Page 35: Programación Orientada a Objetos · Programación Orientada a Objetos (POO) 3 Programación Procedimental Procedimiento 1 Procedimiento 2 Procedimiento 3 D A T O S. 4 Programación](https://reader036.fdocuments.ec/reader036/viewer/2022062403/5fd06cbe5c47f553b07a720d/html5/thumbnails/35.jpg)
35
Tiempo de vida de un objeto
La duración de un objeto en un programasiempre está limitada en el tiempo
La mayoría de los objetos sólo existendurante una parte de la ejecución delprograma
Los objetos son creados mediante unmecanismo denominado instanciación
Los objetos dejan de existir cuando sondestruidos
![Page 36: Programación Orientada a Objetos · Programación Orientada a Objetos (POO) 3 Programación Procedimental Procedimiento 1 Procedimiento 2 Procedimiento 3 D A T O S. 4 Programación](https://reader036.fdocuments.ec/reader036/viewer/2022062403/5fd06cbe5c47f553b07a720d/html5/thumbnails/36.jpg)
36
Queda definido por sus atributos
Con él se definen las propiedades del objeto,y el estado en que se encuentra en unmomento determinado de su existencia
Estado de un objeto
![Page 37: Programación Orientada a Objetos · Programación Orientada a Objetos (POO) 3 Programación Procedimental Procedimiento 1 Procedimiento 2 Procedimiento 3 D A T O S. 4 Programación](https://reader036.fdocuments.ec/reader036/viewer/2022062403/5fd06cbe5c47f553b07a720d/html5/thumbnails/37.jpg)
37
Queda definido por los métodos
Los prototipos de los métodos definidos en lainterfaz de una clase permiten a otrosobjetos, que forman parte de la aplicación,interactuar con los objetos de esa clase
Comportamiento de un objeto
![Page 38: Programación Orientada a Objetos · Programación Orientada a Objetos (POO) 3 Programación Procedimental Procedimiento 1 Procedimiento 2 Procedimiento 3 D A T O S. 4 Programación](https://reader036.fdocuments.ec/reader036/viewer/2022062403/5fd06cbe5c47f553b07a720d/html5/thumbnails/38.jpg)
CLASES
![Page 39: Programación Orientada a Objetos · Programación Orientada a Objetos (POO) 3 Programación Procedimental Procedimiento 1 Procedimiento 2 Procedimiento 3 D A T O S. 4 Programación](https://reader036.fdocuments.ec/reader036/viewer/2022062403/5fd06cbe5c47f553b07a720d/html5/thumbnails/39.jpg)
39
Clases
Las clases son abstracciones que representan a unconjunto de objetos con un:
Comportamiento e
Interfaz común
Es la implementación de un tipo de dato(considerando los objetos como instancias de lasclases)
![Page 40: Programación Orientada a Objetos · Programación Orientada a Objetos (POO) 3 Programación Procedimental Procedimiento 1 Procedimiento 2 Procedimiento 3 D A T O S. 4 Programación](https://reader036.fdocuments.ec/reader036/viewer/2022062403/5fd06cbe5c47f553b07a720d/html5/thumbnails/40.jpg)
40
Clases
Permiten definir y representar colecciones deobjetos
Proveen un modelo para la creación de objetos
Los elementos que componen la clase son
Atributos
Métodos
Representan el estado de un objeto (variables de ejemplar)
Representan el comportamiento de un objeto (funciones miembro)
![Page 41: Programación Orientada a Objetos · Programación Orientada a Objetos (POO) 3 Programación Procedimental Procedimiento 1 Procedimiento 2 Procedimiento 3 D A T O S. 4 Programación](https://reader036.fdocuments.ec/reader036/viewer/2022062403/5fd06cbe5c47f553b07a720d/html5/thumbnails/41.jpg)
41
Ejemplo de instancia de objetos
Clase: Cuenta corriente
Atributos:
Número
Nombre
Saldo
Métodos:
Depositar
Girar
Consultar saldo
![Page 42: Programación Orientada a Objetos · Programación Orientada a Objetos (POO) 3 Programación Procedimental Procedimiento 1 Procedimiento 2 Procedimiento 3 D A T O S. 4 Programación](https://reader036.fdocuments.ec/reader036/viewer/2022062403/5fd06cbe5c47f553b07a720d/html5/thumbnails/42.jpg)
42
Ejemplo de instancia de objetos
Clase: Cuenta corriente
Instanciación: Cuenta Corriente A, B
Objeto: A
Métodos
Depositar
Girar
Consultar
Num: 1234
Nombre: Juan
Saldo: 350.000
Métodos
Depositar
Girar
Consultar
Num: 9876
Nombre: María
Saldo: 450.600
Objeto: B
![Page 43: Programación Orientada a Objetos · Programación Orientada a Objetos (POO) 3 Programación Procedimental Procedimiento 1 Procedimiento 2 Procedimiento 3 D A T O S. 4 Programación](https://reader036.fdocuments.ec/reader036/viewer/2022062403/5fd06cbe5c47f553b07a720d/html5/thumbnails/43.jpg)
MENSAJES
![Page 44: Programación Orientada a Objetos · Programación Orientada a Objetos (POO) 3 Programación Procedimental Procedimiento 1 Procedimiento 2 Procedimiento 3 D A T O S. 4 Programación](https://reader036.fdocuments.ec/reader036/viewer/2022062403/5fd06cbe5c47f553b07a720d/html5/thumbnails/44.jpg)
44
Mensaje
Mecanismo por el cual se solicita una acción sobreel objeto
Un programa en ejecución es una colección deobjetos que se crean, interactúan y se detruyen
La interacción se basa en mensajes que sonenviados de un objeto a otro, de modo que elemisor le pide al receptor la ejecución de unmétodo
![Page 45: Programación Orientada a Objetos · Programación Orientada a Objetos (POO) 3 Programación Procedimental Procedimiento 1 Procedimiento 2 Procedimiento 3 D A T O S. 4 Programación](https://reader036.fdocuments.ec/reader036/viewer/2022062403/5fd06cbe5c47f553b07a720d/html5/thumbnails/45.jpg)
45
Mensajes
Un objeto invoca un método como una reacción alrecibir un mensaje
La interpretación del mensaje dependerá delreceptor
MédicoPaciente
Mensaje
Recepcionista
MédicoPaciente
![Page 46: Programación Orientada a Objetos · Programación Orientada a Objetos (POO) 3 Programación Procedimental Procedimiento 1 Procedimiento 2 Procedimiento 3 D A T O S. 4 Programación](https://reader036.fdocuments.ec/reader036/viewer/2022062403/5fd06cbe5c47f553b07a720d/html5/thumbnails/46.jpg)
MÉTODOS
![Page 47: Programación Orientada a Objetos · Programación Orientada a Objetos (POO) 3 Programación Procedimental Procedimiento 1 Procedimiento 2 Procedimiento 3 D A T O S. 4 Programación](https://reader036.fdocuments.ec/reader036/viewer/2022062403/5fd06cbe5c47f553b07a720d/html5/thumbnails/47.jpg)
47
Métodos
Un método es una 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ó
![Page 48: Programación Orientada a Objetos · Programación Orientada a Objetos (POO) 3 Programación Procedimental Procedimiento 1 Procedimiento 2 Procedimiento 3 D A T O S. 4 Programación](https://reader036.fdocuments.ec/reader036/viewer/2022062403/5fd06cbe5c47f553b07a720d/html5/thumbnails/48.jpg)
48
Métodos
Si el método requiere otros objetos de la clase,éstos deberán ser pasados como parámetrosexplícitos y el método sólo podrá acceder enforma indirecta a estos objetos
Ejemplos: Depositar
Girar
Consultar
![Page 49: Programación Orientada a Objetos · Programación Orientada a Objetos (POO) 3 Programación Procedimental Procedimiento 1 Procedimiento 2 Procedimiento 3 D A T O S. 4 Programación](https://reader036.fdocuments.ec/reader036/viewer/2022062403/5fd06cbe5c47f553b07a720d/html5/thumbnails/49.jpg)
RESUMEN
![Page 50: Programación Orientada a Objetos · Programación Orientada a Objetos (POO) 3 Programación Procedimental Procedimiento 1 Procedimiento 2 Procedimiento 3 D A T O S. 4 Programación](https://reader036.fdocuments.ec/reader036/viewer/2022062403/5fd06cbe5c47f553b07a720d/html5/thumbnails/50.jpg)
50
Mensajes y métodos
Un objeto (agente emisor) envía un mensaje a otroobjeto (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 laresponsabilidad de ejecutar la acción indicada
En respuesta a un mensaje, el receptor ejecuta unmétodo para satisfacer la petición
![Page 51: Programación Orientada a Objetos · Programación Orientada a Objetos (POO) 3 Programación Procedimental Procedimiento 1 Procedimiento 2 Procedimiento 3 D A T O S. 4 Programación](https://reader036.fdocuments.ec/reader036/viewer/2022062403/5fd06cbe5c47f553b07a720d/html5/thumbnails/51.jpg)
51
Clases y ejemplares
Todos los objetos son ejemplares de una clase
La clase del receptor determina el método que seactiva como respuesta a un mensaje
Todos los objetos de una clase usan el mismométodo en respuesta a mensajes similares
![Page 52: Programación Orientada a Objetos · Programación Orientada a Objetos (POO) 3 Programación Procedimental Procedimiento 1 Procedimiento 2 Procedimiento 3 D A T O S. 4 Programación](https://reader036.fdocuments.ec/reader036/viewer/2022062403/5fd06cbe5c47f553b07a720d/html5/thumbnails/52.jpg)
52
Clases y métodos
Los objetos son ejemplos de TAD’s
Un TAD tiene dos caras: una exterior, la que ve elusuario, y una interior, la que sólo ve el programador
El usuario ve nada más que un conjunto deoperaciones que definen el comportamiento de laabstracción
El programador ve las variables de datos que seusan para mantener el estado interno del objeto
Un ejemplar es un representante de una clase
![Page 53: Programación Orientada a Objetos · Programación Orientada a Objetos (POO) 3 Programación Procedimental Procedimiento 1 Procedimiento 2 Procedimiento 3 D A T O S. 4 Programación](https://reader036.fdocuments.ec/reader036/viewer/2022062403/5fd06cbe5c47f553b07a720d/html5/thumbnails/53.jpg)
53
Clases y métodos
Una variable de ejemplar es una variable internamantenida por un ejemplar
Cada ejemplar tiene su propia colección de variablesde ejemplar
Las variables de ejemplar sólo son modificables porlos métodos definidos en la clase
Un objeto es la combinación de estado ycomportamiento
![Page 54: Programación Orientada a Objetos · Programación Orientada a Objetos (POO) 3 Programación Procedimental Procedimiento 1 Procedimiento 2 Procedimiento 3 D A T O S. 4 Programación](https://reader036.fdocuments.ec/reader036/viewer/2022062403/5fd06cbe5c47f553b07a720d/html5/thumbnails/54.jpg)
54
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 elcomportamiento de los objetos
Desde el interior, los métodos proporcionan elcomportamiento apropiado mediante lasmodificaciones del estado
![Page 55: Programación Orientada a Objetos · Programación Orientada a Objetos (POO) 3 Programación Procedimental Procedimiento 1 Procedimiento 2 Procedimiento 3 D A T O S. 4 Programación](https://reader036.fdocuments.ec/reader036/viewer/2022062403/5fd06cbe5c47f553b07a720d/html5/thumbnails/55.jpg)
55
Clases y métodos
La interfaz describe la forma en que un objeto seconecta con el mundo
La implementación describe cómo se logra laresponsabilidad prometida en la interfaz
Una clase se puede concebir como un registro condos variedades de campos: datos y procedimientos
Los datos constituyen las variables de ejemplar
Los procedimientos constituyen los métodos