Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Objetos
Proceso
Proceso Funcion
Proceso Funcion
Proceso
Fin
• Cada objeto proporciona un servicio que es utilizado por otros objetos (reutilización).
Clase Perro
2. Encapsulamiento
• Oculta los detalles de la implementación de un objeto.
• Cada clase “firma un contrato con el exterior” comprometiéndose a exhibir un
determinado comportamiento, pero cómo lo consigue queda oculto o
encapsulado en el interior de la clase.
• “La abstracción y el encapsulamiento son conceptos complementarios: la
abstracción se centra en el comportamiento observable de un objeto, mientras
que el encapsulamiento se centra en la implementación que da lugar a ese
comportamiento” (Booch).
• Reutilización de código.
• Extensibilidad de código.
• Facilidad de mantenimiento del software.
• Portabilidad.
• Rapidez de Desarrollo de software.
• Facilita el trabajo en equipo.
• Más fáciles de entender porque se usa abstracciones cercanas al
mundo real.
Clase Perro
Una similitud es la siguiente:
Objetos La clase es como un molde para hacer
tortas y todas las tortas hechas con el
molde son los objetos
Ing. Freddy Infantes Quiroz
Clases y Objetos
Veamos los siguientes ejemplos de clases y objetos
Valor
Cada objeto tiene valores propios para cada una de las
características de la Clase
Los objetos que existen en el mundo real pueden ser conceptuales o
físicos. Este es un ejemplo de objetos físicos.
Ing. Freddy Infantes Quiroz
Clases y Objetos
Ahora veamos un ejemplo de objetos conceptuales
Clase Objetos de la clase
Nombre de
la clase Cuenta Objeto 1 Objeto 2 Objeto 3
número
tipo número: 45878 número: 75369 número: 85214
Características Saldo Tipo: Ahorros tipo: Corriente tipo: Ahorros
de la clase Saldo: 500,000 saldo: 1,800,000 saldo: 120,000
transacciones Transacciones: 2 Transacciones: 5 Transacciones: 4
Los objetos conceptuales existen en el mundo real pero por no son tangibles.
Las características de las clases que se presentan en los ejemplos son solo algunas,
porque pueden tener muchas más.
Ing. Freddy Infantes Quiroz
Clases y Objetos
Cuenta Clase
- saldo: int
- transacciones: int Atributos :Cuenta
+ Cuenta()
+ depositar(monto: int): void
+ girar(monto: int): void Métodos
+ obtenerSaldo(): int
+ obtenerTransaccones(): int
• Atributos de clase:
Son comunes a todas las instancias de la clase, por tanto el valor es el mismo
para todos los objetos.
Ejm: nombre de escuela de un alumno.
Ing. Freddy Infantes Quiroz
Sintaxis de Atributo
(por defecto).
Cuenta()
• Creación:
El objeto se crea con la palabra reservada new y una llamada al
constructor. Ejm:
nombObj= new NombConstructor(); cta1= new Cuenta();
Ing. Freddy Infantes Quiroz
Ciclo de Vida de los Objetos
Nota:
✓ Los objetos en Java no necesitan destrucción explícita por parte del
programador.
✓ El lenguaje tiene implementado un sistema de recolección de basura (garbage
collection). Ing. Freddy Infantes Quiroz
Mensajes
• Un programa en ejecución es una colección de objetos que se crean, interactúan y
se destruyen
• 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.
• Cada mensaje tiene tres componentes: Paciente Médico
• El objeto destinatario del mensaje Mensaje
• El nombre del método a ejecutar
• Los parámetros (si existen) del método
Recepcionista
objeto.método()
objeto.método(parámetros)
Paciente Médico
- Implícita:
Se instancia en forma directa al Constructor de la Clase.
Ejm:
new Cuenta()
- Explícita:
Se especifica de que clase se va a instanciar el Objeto
Ejm: Cuenta cta1 = new Cuenta()
Ing. Freddy Infantes Quiroz
Ejemplo de Implementación de clases
Cuenta
- saldo: int
- transacciones: int
+ Cuenta()
+ depositar(monto: int): void
+ girar(monto: int): void
+ obtenerSaldo(): int
+ obtenerTransaccones(): int
• Tiene los siguientes métodos:
• depositar(int monto) : permite abonar el valor de monto a la cuenta.
• girar(int monto): permite registrar un giro por el valor de monto.
• obtenerSaldo(): retorna el saldo de la cuenta (valor int).
• obtenerTransacciones(): retorna la cantidad total de transacciones (giros y
depósitos) que se han hecho sobre la cuenta (valor int).
• Y el siguiente constructor:
• Cuenta(): inicializa la cuenta con saldo y contador de transacciones en cero.
Ing. Freddy Infantes Quiroz
2. Implementación de la Clase
Cuenta
Cuenta
Cuenta.java
Ing. Freddy Infantes Quiroz
3. Crear una Clase Main para Instanciar los Objetos
Cuenta Cuenta
Cuenta Cuenta
cta1
cta1
cta1
cta1