SlideShare una empresa de Scribd logo
PROGRAMACIÓN
ORIETADA A
OBJETOS
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)
2
Programación Procedimental 3
Procedimiento 1
Procedimiento 2
Procedimiento 3
D
A
T
O
S
Programación Orientada a
Objetos
4
Métodos
DATOS
Métodos
DATOS
Métodos Métodos
DATOS DATOS
POO 5
Facilita la creación de software de calidad pues
sus características potencian:
 La mantención
 La extensión y
 La reutilización del software generado bajo este
paradigma
La POO se basa en la idea natural de un mundo
lleno de objetos y que la resolución de problemas
se realiza mediante el modelo de objetos
POO 6
La visión de Objetos:
Mesas
Sillas
Computadores
Autos
Cuentas bancarias
Partidos de fútbol
Perros, etc
POO 7
Los objetos se pueden Organizar según su
necesidad
Mamíferos : Perro, Ciervo
Teléfonos : Fijo, Celular
Deportes : Fútbol, Tenis
Vehículos : Automóvil, Camión
METODOLOGÍA
8
Modelamiento 9
La base de esta tecnología es:
Modelar
con base en
Entidades
Los problemas
que se desea
resolver
Relevantes y
tangibles en el
problema
Abstracción
 El modelo define una perspectiva abstracta del
problema
 Los datos que son afectados
 Las operaciones que se aplican sobre los datos
10
Ejemplo
 Para la administración docente, las entidades que
participan son:
11
Administr. Docente
Profesores
Asignaturas
Alumnos
Salas
POO
 Identificar los objetos importantes
 Organizar los objetos en jerarquías
 Otorgar, a los objetos, atributos relevantes que
describan sus características
 Proveer, a cada objeto, las funciones inherentes a su
comportamiento
12
Conceptos de la POO 13
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
Clase 14
Una clase es como un tipo de dato creado por el
usuario, que posee dos categorías de miembros:
 Atributos (Datos)  Estado
 Métodos (Algoritmos)  Comportamiento
Clase 15
En general, es posible crear una clase a partir de
cualquier objeto que esté a nuestro alrededor. Por
ejemplo:
 Persona
 Automóvil
 Mascota
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
16
Instancias-Objetos 17
EJEMPLO:
Suponer que existe la clase Vehículo
 El auto patente WF-4631 es una instancia de la
clase Vehículo, o sea, un objeto de esa clase

 La camioneta patente ZT-9283 es otra instancia
de la clase Vehículo
Atributos
 Son los datos que caracterizan a los objetos de una
clase y determinan el estado de un objeto
18
 Marca
 Año
 Color
 Patente, etc.
Métodos
 Representan todas aquellas acciones que se pueden
realizar sobre un objeto de cierta clase
 En la implementación, estos métodos son segmentos
de código en la forma de funciones
 La clase Vehículo puede incluir los métodos:
 Encender
 Acelerar
 Virar
 Frenar
19
Principios de la POO
 Propiedades, que lo llevan a ser un estilo de
desarrollo que permite crear código re-utilizable
20
 Encapsulamiento
 Herencia
 Polimorfismo
ENCAPSULAMIENTO
Abstracción de Datos
21
Encapsulamiento 22
Proceso por el que se ocultan:
Las estructuras de datos
Los detalles de la implementación
 Permite considerar a los objetos como "cajas
negras", evitando que otros objetos accedan a
detalles que NO LES INTERESA
 Una vez creada la clase, las funciones usuarias no
requieren conocer los detalles de su implementación
Encapsulamiento
 Toda clase tiene un conjunto de atributos y métodos
asociados a ella
 Todos ellos están encapsulados o contenidos dentro de la
misma clase, de manera que son miembros de dicha clase
 Esos métodos y atributos pueden ser utilizados por otras
clases sólo si la clase que los encapsula les brinda los
permisos necesarios para ello
23
Encapsulamiento 24
Atributos de una Cuenta Corriente:
 Número
 Saldo
Métodos:
 Depositar
 Girar
 Conocer el saldo
¿Cómo se almacenan estos datos?
HERENCIA
Organización jerárquica
25
Herencia
 Permite reutilizar código creando nuevas clases a partir de
las existentes (construidas y depuradas)
 Compromete una relación de jerarquía (es-un)
 Una nueva clase se generará agregando atributos y/o
código a una clase existente
 Una clase (derivada) puede heredar de otra clase (base):
 Atributos y
 Métodos
26
Herencia 27
Empleado
Sueldo
Cliente
Cuenta
Alumno
Carrera
Persona
Nombre
Dirección
RUT
POLIMORFISMO
28
Polimorfismo
 Capacidad que permite a dos clases diferentes responder
de forma distinta a un mismo mensaje
 Esto significa que dos clases que tengan un método con el
mismo nombre y que respondan al mismo tipo de
mensaje (es decir, que reciban los mismo parámetros),
ejecutarán acciones distintas
29
Polimorfismo
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
30
Polimorfismo 31
OBJETOS
'A'
3
MENSAJE
Sucesor
RESULTADOS
'B'
4
Ejemplo 2:
Si se tienen las clases Entero y Char, ambas
responderán de manera distinta al mensaje
"Sucesor"
OBJETOS
Objetos 33
En la POO se dice que un objeto: "integra
datos y algoritmos"
En la programación estructurada, variables y
funciones están separadas
Clase
Objeto
Instanciación de objetos
Tipo
Variable
Declaración de variables
POO Procedural
Objetos 34
Cada objeto es responsable de inicializarse y
destruirse en forma correcta
Un objeto consta de:
 Tiempo de vida
 Estado
 Comportamiento
Atributos
Métodos
Tiempo de vida de un objeto 35
La duración de un objeto en un programa
siempre está limitada en el tiempo
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
Los objetos dejan de existir cuando son
destruidos
Estado de un objeto 36
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
Comportamiento de un objeto 37
Queda definido por los métodos
Los prototipos de los métodos definidos en la
interfaz de una clase permiten a otros
objetos, que forman parte de la aplicación,
interactuar con los objetos de esa clase
CLASES
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)
39
Clases 40
Permiten definir y representar colecciones de
objetos
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)
Ejemplo de instancia de objetos
 Clase: Cuenta corriente
 Atributos:
 Número
 Nombre
 Saldo
 Métodos:
 Depositar
 Girar
 Consultar saldo
41
Ejemplo de instancia de objetos
 Clase: Cuenta corriente
 Instanciación: Cuenta Corriente A, B
42
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
MENSAJES
Mensaje
 Mecanismo por el cual se solicita una acción sobre el
objeto
 Un programa en ejecución es una colección de
objetos que se crean, interactúan y se detruyen
 La interacción se basa en mensajes que son
enviados de un objeto a otro, de modo que el emisor
le pide al receptor la ejecución de un método
44
Mensajes
 Un objeto invoca un método como una reacción al
recibir un mensaje
 La interpretación del mensaje dependerá del receptor
45
MédicoPaciente
Mensaje
Recepcionista
MédicoPaciente
MÉTODOS
Métodos 47
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ó
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
48
RESUMEN
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
50
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
51
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
52
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
53
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
54
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
55

Más contenido relacionado

La actualidad más candente

Poo Java
Poo JavaPoo Java
Poo Java
eccutpl
 
Programación Orientada a Objetos en Java - Parte I 2015
Programación Orientada a Objetos en Java - Parte I 2015Programación Orientada a Objetos en Java - Parte I 2015
Programación Orientada a Objetos en Java - Parte I 2015
Renny Batista
 
Programacion orientada a objetos Java
Programacion orientada a objetos JavaProgramacion orientada a objetos Java
Programacion orientada a objetos Java
Alexander Ramirez Melendez
 
Clases
ClasesClases
Primeraclaseobjetos Clases
Primeraclaseobjetos ClasesPrimeraclaseobjetos Clases
Primeraclaseobjetos Clasesmtemarialuisa
 
P.O.O.
P.O.O.P.O.O.
POO sencillito
POO sencillitoPOO sencillito
POO sencillito
Teolinda González
 
Programación Orientada a Objetos
Programación Orientada a ObjetosProgramación Orientada a Objetos
Programación Orientada a Objetos
Zamantha Gonzalez Universidad Nacional Abierta
 
Conceptos basicos POO
Conceptos basicos POOConceptos basicos POO
Conceptos basicos POO
Uniminuto - San Francisco
 
Clases y objetos de java
Clases y objetos de javaClases y objetos de java
Clases y objetos de java
innovalabcun
 
ProgramacióN Orientada A Objetos
ProgramacióN Orientada A ObjetosProgramacióN Orientada A Objetos
ProgramacióN Orientada A Objetos
Patricio Abad
 
Introducción a Programación Orientada a Objetos (OOP): Clases y Objetos
Introducción a  Programación Orientada a Objetos (OOP): Clases y ObjetosIntroducción a  Programación Orientada a Objetos (OOP): Clases y Objetos
Introducción a Programación Orientada a Objetos (OOP): Clases y Objetos
Kudos S.A.S
 
Programación orientada a objetos
Programación orientada a objetosProgramación orientada a objetos
Programación orientada a objetos
Gladys Castillejos
 
Introducción a UML / POO / PHP5
Introducción a UML / POO / PHP5Introducción a UML / POO / PHP5
Introducción a UML / POO / PHP5
Enrique Place
 
Poo ok
Poo okPoo ok
Conceptos de POO (Programacion Orientada a Objetos)
Conceptos de POO (Programacion Orientada a Objetos)Conceptos de POO (Programacion Orientada a Objetos)
Conceptos de POO (Programacion Orientada a Objetos)
Josue Lara Reyes
 
Introducción a la programación orientada objetos
Introducción a la programación orientada objetosIntroducción a la programación orientada objetos
Introducción a la programación orientada objetos
Renny Batista
 

La actualidad más candente (20)

Poo Java
Poo JavaPoo Java
Poo Java
 
Programación Orientada a Objetos en Java - Parte I 2015
Programación Orientada a Objetos en Java - Parte I 2015Programación Orientada a Objetos en Java - Parte I 2015
Programación Orientada a Objetos en Java - Parte I 2015
 
Programacion orientada a objetos Java
Programacion orientada a objetos JavaProgramacion orientada a objetos Java
Programacion orientada a objetos Java
 
Clases
ClasesClases
Clases
 
Primeraclaseobjetos Clases
Primeraclaseobjetos ClasesPrimeraclaseobjetos Clases
Primeraclaseobjetos Clases
 
Primeraclaseobjetos clases
Primeraclaseobjetos clasesPrimeraclaseobjetos clases
Primeraclaseobjetos clases
 
P.O.O.
P.O.O.P.O.O.
P.O.O.
 
POO sencillito
POO sencillitoPOO sencillito
POO sencillito
 
Programación Orientada a Objetos
Programación Orientada a ObjetosProgramación Orientada a Objetos
Programación Orientada a Objetos
 
Conceptos basicos POO
Conceptos basicos POOConceptos basicos POO
Conceptos basicos POO
 
Clases y objetos de java
Clases y objetos de javaClases y objetos de java
Clases y objetos de java
 
ProgramacióN Orientada A Objetos
ProgramacióN Orientada A ObjetosProgramacióN Orientada A Objetos
ProgramacióN Orientada A Objetos
 
Introducción a Programación Orientada a Objetos (OOP): Clases y Objetos
Introducción a  Programación Orientada a Objetos (OOP): Clases y ObjetosIntroducción a  Programación Orientada a Objetos (OOP): Clases y Objetos
Introducción a Programación Orientada a Objetos (OOP): Clases y Objetos
 
Poo
PooPoo
Poo
 
3_Orientación a objeto
3_Orientación a objeto3_Orientación a objeto
3_Orientación a objeto
 
Programación orientada a objetos
Programación orientada a objetosProgramación orientada a objetos
Programación orientada a objetos
 
Introducción a UML / POO / PHP5
Introducción a UML / POO / PHP5Introducción a UML / POO / PHP5
Introducción a UML / POO / PHP5
 
Poo ok
Poo okPoo ok
Poo ok
 
Conceptos de POO (Programacion Orientada a Objetos)
Conceptos de POO (Programacion Orientada a Objetos)Conceptos de POO (Programacion Orientada a Objetos)
Conceptos de POO (Programacion Orientada a Objetos)
 
Introducción a la programación orientada objetos
Introducción a la programación orientada objetosIntroducción a la programación orientada objetos
Introducción a la programación orientada objetos
 

Destacado

Presentación
PresentaciónPresentación
Presentación
Pilar P.C.
 
Lung capacity, tidal volume and mechanics of breathing
Lung capacity, tidal volume and mechanics of breathingLung capacity, tidal volume and mechanics of breathing
Lung capacity, tidal volume and mechanics of breathing
mohamed alsawaf
 
Metric conversion factors for fan application per amca standard
Metric conversion factors for fan application per amca standardMetric conversion factors for fan application per amca standard
Metric conversion factors for fan application per amca standard
Cesar Enoch
 
Flexible querying of relational databases fuzzy set based approach 27-11
Flexible querying of relational databases fuzzy set based approach 27-11Flexible querying of relational databases fuzzy set based approach 27-11
Flexible querying of relational databases fuzzy set based approach 27-11
Adel Sabour
 
Listening to neighbors’ stories
Listening to neighbors’ storiesListening to neighbors’ stories
Listening to neighbors’ stories
Maria Kleidara
 
Programa analitico
Programa analiticoPrograma analitico
Programa analitico
m3losa
 
Дизайн-долг в продуктовой и заказной разработке
Дизайн-долг в продуктовой и заказной разработкеДизайн-долг в продуктовой и заказной разработке
Дизайн-долг в продуктовой и заказной разработке
Andrew Shapiro
 
Skin Lesion Detection from Dermoscopic Images using Convolutional Neural Netw...
Skin Lesion Detection from Dermoscopic Images using Convolutional Neural Netw...Skin Lesion Detection from Dermoscopic Images using Convolutional Neural Netw...
Skin Lesion Detection from Dermoscopic Images using Convolutional Neural Netw...
Universitat Politècnica de Catalunya
 
POO: Herencia, Abstraccion y Polimorfismo
POO: Herencia, Abstraccion y PolimorfismoPOO: Herencia, Abstraccion y Polimorfismo
POO: Herencia, Abstraccion y Polimorfismo
Actimel
 
3Com 3C905B-FX(SC)-25PK
3Com 3C905B-FX(SC)-25PK3Com 3C905B-FX(SC)-25PK
3Com 3C905B-FX(SC)-25PK
savomir
 
Cuatro elementos claves para entender poo en java
Cuatro elementos claves para entender poo en javaCuatro elementos claves para entender poo en java
Cuatro elementos claves para entender poo en java
Elivar Largo
 
Moodle aspectos básicos
Moodle   aspectos básicosMoodle   aspectos básicos
Moodle aspectos básicos
Marco Antonio Sandoval Ortiz
 
Conceptos adicionales a la programación orientada a objetos con JavaScript
Conceptos adicionales a la programación orientada a objetos con JavaScriptConceptos adicionales a la programación orientada a objetos con JavaScript
Conceptos adicionales a la programación orientada a objetos con JavaScript
Francisco Javier Arce Anguiano
 
12 programación-orientada-a-objetos-expo1-1..2
12 programación-orientada-a-objetos-expo1-1..212 programación-orientada-a-objetos-expo1-1..2
12 programación-orientada-a-objetos-expo1-1..2
zeta2015
 
Paradigma Programación Orientada a Objetos (POO)
Paradigma Programación Orientada a Objetos (POO)Paradigma Programación Orientada a Objetos (POO)
Paradigma Programación Orientada a Objetos (POO)
Fredy Nicolas Moreno Puerto
 
Programación orientada a objetos
Programación orientada a objetosProgramación orientada a objetos
Programación orientada a objetos
Erick Aguila Martínez
 
3Com 150A0035-1E
3Com 150A0035-1E3Com 150A0035-1E
3Com 150A0035-1E
savomir
 
3Com 3CRV7205A-09
3Com 3CRV7205A-093Com 3CRV7205A-09
3Com 3CRV7205A-09
savomir
 
3Com 3C10382VCX
3Com 3C10382VCX3Com 3C10382VCX
3Com 3C10382VCX
savomir
 

Destacado (20)

Presentación
PresentaciónPresentación
Presentación
 
Lung capacity, tidal volume and mechanics of breathing
Lung capacity, tidal volume and mechanics of breathingLung capacity, tidal volume and mechanics of breathing
Lung capacity, tidal volume and mechanics of breathing
 
Metric conversion factors for fan application per amca standard
Metric conversion factors for fan application per amca standardMetric conversion factors for fan application per amca standard
Metric conversion factors for fan application per amca standard
 
Flexible querying of relational databases fuzzy set based approach 27-11
Flexible querying of relational databases fuzzy set based approach 27-11Flexible querying of relational databases fuzzy set based approach 27-11
Flexible querying of relational databases fuzzy set based approach 27-11
 
Listening to neighbors’ stories
Listening to neighbors’ storiesListening to neighbors’ stories
Listening to neighbors’ stories
 
Programa analitico
Programa analiticoPrograma analitico
Programa analitico
 
Дизайн-долг в продуктовой и заказной разработке
Дизайн-долг в продуктовой и заказной разработкеДизайн-долг в продуктовой и заказной разработке
Дизайн-долг в продуктовой и заказной разработке
 
Skin Lesion Detection from Dermoscopic Images using Convolutional Neural Netw...
Skin Lesion Detection from Dermoscopic Images using Convolutional Neural Netw...Skin Lesion Detection from Dermoscopic Images using Convolutional Neural Netw...
Skin Lesion Detection from Dermoscopic Images using Convolutional Neural Netw...
 
POO: Herencia, Abstraccion y Polimorfismo
POO: Herencia, Abstraccion y PolimorfismoPOO: Herencia, Abstraccion y Polimorfismo
POO: Herencia, Abstraccion y Polimorfismo
 
3Com 3C905B-FX(SC)-25PK
3Com 3C905B-FX(SC)-25PK3Com 3C905B-FX(SC)-25PK
3Com 3C905B-FX(SC)-25PK
 
Cuatro elementos claves para entender poo en java
Cuatro elementos claves para entender poo en javaCuatro elementos claves para entender poo en java
Cuatro elementos claves para entender poo en java
 
Moodle aspectos básicos
Moodle   aspectos básicosMoodle   aspectos básicos
Moodle aspectos básicos
 
Conceptos adicionales a la programación orientada a objetos con JavaScript
Conceptos adicionales a la programación orientada a objetos con JavaScriptConceptos adicionales a la programación orientada a objetos con JavaScript
Conceptos adicionales a la programación orientada a objetos con JavaScript
 
12 programación-orientada-a-objetos-expo1-1..2
12 programación-orientada-a-objetos-expo1-1..212 programación-orientada-a-objetos-expo1-1..2
12 programación-orientada-a-objetos-expo1-1..2
 
Paradigma Programación Orientada a Objetos (POO)
Paradigma Programación Orientada a Objetos (POO)Paradigma Programación Orientada a Objetos (POO)
Paradigma Programación Orientada a Objetos (POO)
 
Programación orientada a objetos
Programación orientada a objetosProgramación orientada a objetos
Programación orientada a objetos
 
Uml diagrama clase objeto
Uml diagrama clase objetoUml diagrama clase objeto
Uml diagrama clase objeto
 
3Com 150A0035-1E
3Com 150A0035-1E3Com 150A0035-1E
3Com 150A0035-1E
 
3Com 3CRV7205A-09
3Com 3CRV7205A-093Com 3CRV7205A-09
3Com 3CRV7205A-09
 
3Com 3C10382VCX
3Com 3C10382VCX3Com 3C10382VCX
3Com 3C10382VCX
 

Similar a POO

POOCPP2.ppt
POOCPP2.pptPOOCPP2.ppt
POOCPP2.ppt
LucasAlcala2
 
Proyecto en android completado
Proyecto en android completadoProyecto en android completado
Proyecto en android completadoKai Exo
 
03 Oop
03   Oop03   Oop
03 Oop
Network Sens
 
Semanas01y02
Semanas01y02Semanas01y02
Semanas01y02luisortiz
 
Fundamentos del análisis orientado a objetos
Fundamentos del análisis orientado a objetosFundamentos del análisis orientado a objetos
Fundamentos del análisis orientado a objetosEduardo Galindo
 
Benita ppp unidad 1
Benita ppp unidad 1Benita ppp unidad 1
Benita ppp unidad 1
TAtiizz Villalobos
 
Metodologã­a orientada-a-objetos-omt.-rumbaugh
Metodologã­a orientada-a-objetos-omt.-rumbaughMetodologã­a orientada-a-objetos-omt.-rumbaugh
Metodologã­a orientada-a-objetos-omt.-rumbaughviisistemas
 
Unidad 3. obj 3.2 Programación Orientada a Objetos
Unidad 3. obj 3.2 Programación Orientada a ObjetosUnidad 3. obj 3.2 Programación Orientada a Objetos
Unidad 3. obj 3.2 Programación Orientada a ObjetosAlix Indriago
 
Programacion
ProgramacionProgramacion
Programacion
jalfonso9971
 
Framework .NET 3.5 07 Programación orientada a objetos
Framework .NET 3.5 07 Programación orientada a objetosFramework .NET 3.5 07 Programación orientada a objetos
Framework .NET 3.5 07 Programación orientada a objetosAntonio Palomares Sender
 
programacion orientada a objetos
programacion orientada a objetosprogramacion orientada a objetos
programacion orientada a objetosjent46
 
UT05-POO.pdf
UT05-POO.pdfUT05-POO.pdf
UT05-POO.pdf
ReinaldoGonzlez10
 
Too Tecnologia orientada a objetos
Too Tecnologia orientada a objetosToo Tecnologia orientada a objetos
Too Tecnologia orientada a objetos
Frangelys Perez
 
Metodología orientada a objetos (omt). rumbaugh
Metodología orientada a objetos (omt). rumbaughMetodología orientada a objetos (omt). rumbaugh
Metodología orientada a objetos (omt). rumbaugh
Wilfredy Inciarte
 
Prog.orientada a objeto
Prog.orientada a objetoProg.orientada a objeto
Prog.orientada a objeto
Ruben Balza Moya
 
Programacion orientada-a-objetos
Programacion orientada-a-objetosProgramacion orientada-a-objetos
Programacion orientada-a-objetos
Don Augusto
 
3 Bases De La OrientacióN A Objetos
3  Bases De La OrientacióN A Objetos3  Bases De La OrientacióN A Objetos
3 Bases De La OrientacióN A Objetos
HectorMamani
 
Diseño y realizacion jessica proaño
Diseño y realizacion jessica proañoDiseño y realizacion jessica proaño
Diseño y realizacion jessica proañoPaty Love
 

Similar a POO (20)

POOCPP2.ppt
POOCPP2.pptPOOCPP2.ppt
POOCPP2.ppt
 
Proyecto en android completado
Proyecto en android completadoProyecto en android completado
Proyecto en android completado
 
03 Oop
03   Oop03   Oop
03 Oop
 
Semanas01y02
Semanas01y02Semanas01y02
Semanas01y02
 
Semanas01y02
Semanas01y02Semanas01y02
Semanas01y02
 
Fundamentos del análisis orientado a objetos
Fundamentos del análisis orientado a objetosFundamentos del análisis orientado a objetos
Fundamentos del análisis orientado a objetos
 
Benita ppp unidad 1
Benita ppp unidad 1Benita ppp unidad 1
Benita ppp unidad 1
 
Unidad II.pdf
Unidad II.pdfUnidad II.pdf
Unidad II.pdf
 
Metodologã­a orientada-a-objetos-omt.-rumbaugh
Metodologã­a orientada-a-objetos-omt.-rumbaughMetodologã­a orientada-a-objetos-omt.-rumbaugh
Metodologã­a orientada-a-objetos-omt.-rumbaugh
 
Unidad 3. obj 3.2 Programación Orientada a Objetos
Unidad 3. obj 3.2 Programación Orientada a ObjetosUnidad 3. obj 3.2 Programación Orientada a Objetos
Unidad 3. obj 3.2 Programación Orientada a Objetos
 
Programacion
ProgramacionProgramacion
Programacion
 
Framework .NET 3.5 07 Programación orientada a objetos
Framework .NET 3.5 07 Programación orientada a objetosFramework .NET 3.5 07 Programación orientada a objetos
Framework .NET 3.5 07 Programación orientada a objetos
 
programacion orientada a objetos
programacion orientada a objetosprogramacion orientada a objetos
programacion orientada a objetos
 
UT05-POO.pdf
UT05-POO.pdfUT05-POO.pdf
UT05-POO.pdf
 
Too Tecnologia orientada a objetos
Too Tecnologia orientada a objetosToo Tecnologia orientada a objetos
Too Tecnologia orientada a objetos
 
Metodología orientada a objetos (omt). rumbaugh
Metodología orientada a objetos (omt). rumbaughMetodología orientada a objetos (omt). rumbaugh
Metodología orientada a objetos (omt). rumbaugh
 
Prog.orientada a objeto
Prog.orientada a objetoProg.orientada a objeto
Prog.orientada a objeto
 
Programacion orientada-a-objetos
Programacion orientada-a-objetosProgramacion orientada-a-objetos
Programacion orientada-a-objetos
 
3 Bases De La OrientacióN A Objetos
3  Bases De La OrientacióN A Objetos3  Bases De La OrientacióN A Objetos
3 Bases De La OrientacióN A Objetos
 
Diseño y realizacion jessica proaño
Diseño y realizacion jessica proañoDiseño y realizacion jessica proaño
Diseño y realizacion jessica proaño
 

Último

Triduo Eudista: Jesucristo, Sumo y Eterno Sacerdote; El Corazón de Jesús y el...
Triduo Eudista: Jesucristo, Sumo y Eterno Sacerdote; El Corazón de Jesús y el...Triduo Eudista: Jesucristo, Sumo y Eterno Sacerdote; El Corazón de Jesús y el...
Triduo Eudista: Jesucristo, Sumo y Eterno Sacerdote; El Corazón de Jesús y el...
Unidad de Espiritualidad Eudista
 
El Liberalismo económico en la sociedad y en el mundo
El Liberalismo económico en la sociedad y en el mundoEl Liberalismo económico en la sociedad y en el mundo
El Liberalismo económico en la sociedad y en el mundo
SandraBenitez52
 
Horarios y fechas de la PAU 2024 en la Comunidad Valenciana.
Horarios y fechas de la PAU 2024 en la Comunidad Valenciana.Horarios y fechas de la PAU 2024 en la Comunidad Valenciana.
Horarios y fechas de la PAU 2024 en la Comunidad Valenciana.
20minutos
 
Blogs_y_Educacion_Por Zaracho Lautaro_.pdf
Blogs_y_Educacion_Por Zaracho Lautaro_.pdfBlogs_y_Educacion_Por Zaracho Lautaro_.pdf
Blogs_y_Educacion_Por Zaracho Lautaro_.pdf
lautyzaracho4
 
Examen Lengua y Literatura EVAU Andalucía.pdf
Examen Lengua y Literatura EVAU Andalucía.pdfExamen Lengua y Literatura EVAU Andalucía.pdf
Examen Lengua y Literatura EVAU Andalucía.pdf
20minutos
 
Aprender-IA: Recursos online gratuitos para estar al tanto y familiarizarse c...
Aprender-IA: Recursos online gratuitos para estar al tanto y familiarizarse c...Aprender-IA: Recursos online gratuitos para estar al tanto y familiarizarse c...
Aprender-IA: Recursos online gratuitos para estar al tanto y familiarizarse c...
María Sánchez González (@cibermarikiya)
 
Guia Practica de ChatGPT para Docentes Ccesa007.pdf
Guia Practica de ChatGPT para Docentes Ccesa007.pdfGuia Practica de ChatGPT para Docentes Ccesa007.pdf
Guia Practica de ChatGPT para Docentes Ccesa007.pdf
Demetrio Ccesa Rayme
 
recursos naturales en chile quinto básico .pptx
recursos naturales en chile quinto básico .pptxrecursos naturales en chile quinto básico .pptx
recursos naturales en chile quinto básico .pptx
Waleska Chaparro
 
FORTI-JUNIO 2024. CIENCIA, EDUCACION, CULTURA,pdf
FORTI-JUNIO 2024. CIENCIA, EDUCACION, CULTURA,pdfFORTI-JUNIO 2024. CIENCIA, EDUCACION, CULTURA,pdf
FORTI-JUNIO 2024. CIENCIA, EDUCACION, CULTURA,pdf
El Fortí
 
PLAN DE CAPACITACION xxxxxxxxxxxxxxxxxxx
PLAN DE CAPACITACION xxxxxxxxxxxxxxxxxxxPLAN DE CAPACITACION xxxxxxxxxxxxxxxxxxx
PLAN DE CAPACITACION xxxxxxxxxxxxxxxxxxx
cportizsanchez48
 
Guia para Docentes como usar ChatGPT Mineduc Ccesa007.pdf
Guia para Docentes como usar ChatGPT  Mineduc Ccesa007.pdfGuia para Docentes como usar ChatGPT  Mineduc Ccesa007.pdf
Guia para Docentes como usar ChatGPT Mineduc Ccesa007.pdf
Demetrio Ccesa Rayme
 
Friedrich Nietzsche. Presentación de 2 de Bachillerato.
Friedrich Nietzsche. Presentación de 2 de Bachillerato.Friedrich Nietzsche. Presentación de 2 de Bachillerato.
Friedrich Nietzsche. Presentación de 2 de Bachillerato.
pablomarin116
 
Las diversas Sociedades Mercantiles Mexico.pdf
Las diversas Sociedades Mercantiles Mexico.pdfLas diversas Sociedades Mercantiles Mexico.pdf
Las diversas Sociedades Mercantiles Mexico.pdf
La Paradoja educativa
 
Dia de la Bandera colegio Santa Angela 2024
Dia de la Bandera colegio Santa Angela 2024Dia de la Bandera colegio Santa Angela 2024
Dia de la Bandera colegio Santa Angela 2024
77361565
 
Mauricio-Presentación-Vacacional- 2024-1
Mauricio-Presentación-Vacacional- 2024-1Mauricio-Presentación-Vacacional- 2024-1
Mauricio-Presentación-Vacacional- 2024-1
MauricioSnchez83
 
6° GRADO UNIDAD DE APRENDIZAJE 3 JUNIO.docx
6° GRADO UNIDAD DE APRENDIZAJE 3 JUNIO.docx6° GRADO UNIDAD DE APRENDIZAJE 3 JUNIO.docx
6° GRADO UNIDAD DE APRENDIZAJE 3 JUNIO.docx
DanielaBurgosnazario
 
Presidencias radicales (1916 – 1930) (1) (1).pdf
Presidencias radicales (1916 – 1930) (1) (1).pdfPresidencias radicales (1916 – 1930) (1) (1).pdf
Presidencias radicales (1916 – 1930) (1) (1).pdf
MARIANA110300
 
Presentación Curso C. Diferencial - 2024-1.pdf
Presentación Curso C. Diferencial - 2024-1.pdfPresentación Curso C. Diferencial - 2024-1.pdf
Presentación Curso C. Diferencial - 2024-1.pdf
H4RV3YH3RN4ND3Z
 
INFORME MINEDU DEL PRIMER SIMULACRO 2024.pdf
INFORME MINEDU DEL PRIMER SIMULACRO 2024.pdfINFORME MINEDU DEL PRIMER SIMULACRO 2024.pdf
INFORME MINEDU DEL PRIMER SIMULACRO 2024.pdf
Alejandrogarciapanta
 
Nuevos espacios,nuevos tiempos,nuevas practica.pptx
Nuevos espacios,nuevos tiempos,nuevas practica.pptxNuevos espacios,nuevos tiempos,nuevas practica.pptx
Nuevos espacios,nuevos tiempos,nuevas practica.pptx
lautyzaracho4
 

Último (20)

Triduo Eudista: Jesucristo, Sumo y Eterno Sacerdote; El Corazón de Jesús y el...
Triduo Eudista: Jesucristo, Sumo y Eterno Sacerdote; El Corazón de Jesús y el...Triduo Eudista: Jesucristo, Sumo y Eterno Sacerdote; El Corazón de Jesús y el...
Triduo Eudista: Jesucristo, Sumo y Eterno Sacerdote; El Corazón de Jesús y el...
 
El Liberalismo económico en la sociedad y en el mundo
El Liberalismo económico en la sociedad y en el mundoEl Liberalismo económico en la sociedad y en el mundo
El Liberalismo económico en la sociedad y en el mundo
 
Horarios y fechas de la PAU 2024 en la Comunidad Valenciana.
Horarios y fechas de la PAU 2024 en la Comunidad Valenciana.Horarios y fechas de la PAU 2024 en la Comunidad Valenciana.
Horarios y fechas de la PAU 2024 en la Comunidad Valenciana.
 
Blogs_y_Educacion_Por Zaracho Lautaro_.pdf
Blogs_y_Educacion_Por Zaracho Lautaro_.pdfBlogs_y_Educacion_Por Zaracho Lautaro_.pdf
Blogs_y_Educacion_Por Zaracho Lautaro_.pdf
 
Examen Lengua y Literatura EVAU Andalucía.pdf
Examen Lengua y Literatura EVAU Andalucía.pdfExamen Lengua y Literatura EVAU Andalucía.pdf
Examen Lengua y Literatura EVAU Andalucía.pdf
 
Aprender-IA: Recursos online gratuitos para estar al tanto y familiarizarse c...
Aprender-IA: Recursos online gratuitos para estar al tanto y familiarizarse c...Aprender-IA: Recursos online gratuitos para estar al tanto y familiarizarse c...
Aprender-IA: Recursos online gratuitos para estar al tanto y familiarizarse c...
 
Guia Practica de ChatGPT para Docentes Ccesa007.pdf
Guia Practica de ChatGPT para Docentes Ccesa007.pdfGuia Practica de ChatGPT para Docentes Ccesa007.pdf
Guia Practica de ChatGPT para Docentes Ccesa007.pdf
 
recursos naturales en chile quinto básico .pptx
recursos naturales en chile quinto básico .pptxrecursos naturales en chile quinto básico .pptx
recursos naturales en chile quinto básico .pptx
 
FORTI-JUNIO 2024. CIENCIA, EDUCACION, CULTURA,pdf
FORTI-JUNIO 2024. CIENCIA, EDUCACION, CULTURA,pdfFORTI-JUNIO 2024. CIENCIA, EDUCACION, CULTURA,pdf
FORTI-JUNIO 2024. CIENCIA, EDUCACION, CULTURA,pdf
 
PLAN DE CAPACITACION xxxxxxxxxxxxxxxxxxx
PLAN DE CAPACITACION xxxxxxxxxxxxxxxxxxxPLAN DE CAPACITACION xxxxxxxxxxxxxxxxxxx
PLAN DE CAPACITACION xxxxxxxxxxxxxxxxxxx
 
Guia para Docentes como usar ChatGPT Mineduc Ccesa007.pdf
Guia para Docentes como usar ChatGPT  Mineduc Ccesa007.pdfGuia para Docentes como usar ChatGPT  Mineduc Ccesa007.pdf
Guia para Docentes como usar ChatGPT Mineduc Ccesa007.pdf
 
Friedrich Nietzsche. Presentación de 2 de Bachillerato.
Friedrich Nietzsche. Presentación de 2 de Bachillerato.Friedrich Nietzsche. Presentación de 2 de Bachillerato.
Friedrich Nietzsche. Presentación de 2 de Bachillerato.
 
Las diversas Sociedades Mercantiles Mexico.pdf
Las diversas Sociedades Mercantiles Mexico.pdfLas diversas Sociedades Mercantiles Mexico.pdf
Las diversas Sociedades Mercantiles Mexico.pdf
 
Dia de la Bandera colegio Santa Angela 2024
Dia de la Bandera colegio Santa Angela 2024Dia de la Bandera colegio Santa Angela 2024
Dia de la Bandera colegio Santa Angela 2024
 
Mauricio-Presentación-Vacacional- 2024-1
Mauricio-Presentación-Vacacional- 2024-1Mauricio-Presentación-Vacacional- 2024-1
Mauricio-Presentación-Vacacional- 2024-1
 
6° GRADO UNIDAD DE APRENDIZAJE 3 JUNIO.docx
6° GRADO UNIDAD DE APRENDIZAJE 3 JUNIO.docx6° GRADO UNIDAD DE APRENDIZAJE 3 JUNIO.docx
6° GRADO UNIDAD DE APRENDIZAJE 3 JUNIO.docx
 
Presidencias radicales (1916 – 1930) (1) (1).pdf
Presidencias radicales (1916 – 1930) (1) (1).pdfPresidencias radicales (1916 – 1930) (1) (1).pdf
Presidencias radicales (1916 – 1930) (1) (1).pdf
 
Presentación Curso C. Diferencial - 2024-1.pdf
Presentación Curso C. Diferencial - 2024-1.pdfPresentación Curso C. Diferencial - 2024-1.pdf
Presentación Curso C. Diferencial - 2024-1.pdf
 
INFORME MINEDU DEL PRIMER SIMULACRO 2024.pdf
INFORME MINEDU DEL PRIMER SIMULACRO 2024.pdfINFORME MINEDU DEL PRIMER SIMULACRO 2024.pdf
INFORME MINEDU DEL PRIMER SIMULACRO 2024.pdf
 
Nuevos espacios,nuevos tiempos,nuevas practica.pptx
Nuevos espacios,nuevos tiempos,nuevas practica.pptxNuevos espacios,nuevos tiempos,nuevas practica.pptx
Nuevos espacios,nuevos tiempos,nuevas practica.pptx
 

POO

  • 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) 2
  • 3. Programación Procedimental 3 Procedimiento 1 Procedimiento 2 Procedimiento 3 D A T O S
  • 5. POO 5 Facilita la creación de software de calidad pues sus características potencian:  La mantención  La extensión y  La reutilización del software generado bajo este paradigma La POO se basa en la idea natural de un mundo lleno de objetos y que la resolución de problemas se realiza mediante el modelo de objetos
  • 6. POO 6 La visión de Objetos: Mesas Sillas Computadores Autos Cuentas bancarias Partidos de fútbol Perros, etc
  • 7. POO 7 Los objetos se pueden Organizar según su necesidad Mamíferos : Perro, Ciervo Teléfonos : Fijo, Celular Deportes : Fútbol, Tenis Vehículos : Automóvil, Camión
  • 9. Modelamiento 9 La base de esta tecnología es: Modelar con base en Entidades Los problemas que se desea resolver Relevantes y tangibles en el problema
  • 10. Abstracción  El modelo define una perspectiva abstracta del problema  Los datos que son afectados  Las operaciones que se aplican sobre los datos 10
  • 11. Ejemplo  Para la administración docente, las entidades que participan son: 11 Administr. Docente Profesores Asignaturas Alumnos Salas
  • 12. POO  Identificar los objetos importantes  Organizar los objetos en jerarquías  Otorgar, a los objetos, atributos relevantes que describan sus características  Proveer, a cada objeto, las funciones inherentes a su comportamiento 12
  • 13. Conceptos de la POO 13 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
  • 14. Clase 14 Una clase es como un tipo de dato creado por el usuario, que posee dos categorías de miembros:  Atributos (Datos)  Estado  Métodos (Algoritmos)  Comportamiento
  • 15. Clase 15 En general, es posible crear una clase a partir de cualquier objeto que esté a nuestro alrededor. Por ejemplo:  Persona  Automóvil  Mascota
  • 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 16
  • 17. Instancias-Objetos 17 EJEMPLO: Suponer que existe la clase Vehículo  El auto patente WF-4631 es una instancia de la clase Vehículo, o sea, un objeto de esa clase   La camioneta patente ZT-9283 es otra instancia de la clase Vehículo
  • 18. Atributos  Son los datos que caracterizan a los objetos de una clase y determinan el estado de un objeto 18  Marca  Año  Color  Patente, etc.
  • 19. Métodos  Representan todas aquellas acciones que se pueden realizar sobre un objeto de cierta clase  En la implementación, estos métodos son segmentos de código en la forma de funciones  La clase Vehículo puede incluir los métodos:  Encender  Acelerar  Virar  Frenar 19
  • 20. Principios de la POO  Propiedades, que lo llevan a ser un estilo de desarrollo que permite crear código re-utilizable 20  Encapsulamiento  Herencia  Polimorfismo
  • 22. Encapsulamiento 22 Proceso por el que se ocultan: Las estructuras de datos Los detalles de la implementación  Permite considerar a los objetos como "cajas negras", evitando que otros objetos 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  Toda clase tiene un conjunto de atributos y métodos asociados a ella  Todos ellos están encapsulados o contenidos dentro de la misma clase, de manera que son miembros de dicha clase  Esos métodos y atributos pueden ser utilizados por otras clases sólo si la clase que los encapsula les brinda los permisos necesarios para ello 23
  • 24. Encapsulamiento 24 Atributos de una Cuenta Corriente:  Número  Saldo Métodos:  Depositar  Girar  Conocer el saldo ¿Cómo se almacenan estos datos?
  • 26. Herencia  Permite reutilizar código creando nuevas clases a partir de las existentes (construidas y depuradas)  Compromete una relación de jerarquía (es-un)  Una nueva clase se generará agregando atributos y/o código a una clase existente  Una clase (derivada) puede heredar de otra clase (base):  Atributos y  Métodos 26
  • 29. Polimorfismo  Capacidad que permite a dos clases diferentes responder de forma distinta a un mismo mensaje  Esto significa que dos clases que tengan un método con el mismo nombre y que respondan al mismo tipo de mensaje (es decir, que reciban los mismo parámetros), ejecutarán acciones distintas 29
  • 30. Polimorfismo 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 30
  • 31. Polimorfismo 31 OBJETOS 'A' 3 MENSAJE Sucesor RESULTADOS 'B' 4 Ejemplo 2: Si se tienen las clases Entero y Char, ambas responderán de manera distinta al mensaje "Sucesor"
  • 33. Objetos 33 En la POO se dice que un objeto: "integra datos y algoritmos" En la programación estructurada, variables y funciones están separadas Clase Objeto Instanciación de objetos Tipo Variable Declaración de variables POO Procedural
  • 34. Objetos 34 Cada objeto es responsable de inicializarse y destruirse en forma correcta Un objeto consta de:  Tiempo de vida  Estado  Comportamiento Atributos Métodos
  • 35. Tiempo de vida de un objeto 35 La duración de un objeto en un programa siempre está limitada en el tiempo 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 Los objetos dejan de existir cuando son destruidos
  • 36. Estado de un objeto 36 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
  • 37. Comportamiento de un objeto 37 Queda definido por los métodos Los prototipos de los métodos definidos en la interfaz de una clase permiten a otros objetos, que forman parte de la aplicación, interactuar con los objetos de esa clase
  • 39. 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) 39
  • 40. Clases 40 Permiten definir y representar colecciones de objetos 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)
  • 41. Ejemplo de instancia de objetos  Clase: Cuenta corriente  Atributos:  Número  Nombre  Saldo  Métodos:  Depositar  Girar  Consultar saldo 41
  • 42. Ejemplo de instancia de objetos  Clase: Cuenta corriente  Instanciación: Cuenta Corriente A, B 42 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
  • 44. Mensaje  Mecanismo por el cual se solicita una acción sobre el objeto  Un programa en ejecución es una colección de objetos que se crean, interactúan y se detruyen  La interacción se basa en mensajes que son enviados de un objeto a otro, de modo que el emisor le pide al receptor la ejecución de un método 44
  • 45. Mensajes  Un objeto invoca un método como una reacción al recibir un mensaje  La interpretación del mensaje dependerá del receptor 45 MédicoPaciente Mensaje Recepcionista MédicoPaciente
  • 47. Métodos 47 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ó
  • 48. 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 48
  • 50. 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 50
  • 51. 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 51
  • 52. 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 52
  • 53. 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 53
  • 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 el comportamiento de los objetos  Desde el interior, los métodos proporcionan el comportamiento apropiado mediante las modificaciones del estado 54
  • 55. 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 55