jueves, 29 de junio de 2023

Paso de Mensajes

 Un objeto envía un mensaje a otro

  • Esto lo hace mediante una llamada a sus atributos o métodos

Los mensajes son tratados por la interfaz pública del objeto que los recibe

  • Eso quiere decir que sólo podemos hacer llamadas a aquellos atributos o métodos de otro objeto que sean públicos o accesibles desde el objeto que hace la llamada
El objeto receptor reaccionará
  • Cambiando su estado: es decir modificando sus atributos 
  • Enviando otros mensajes : es decir llamando a otros atributos o métodos del mismo objeto (públicos o privados) o de otros objetos (públicos o accesibles desde ese objeto)

Ejemplo



Definición de objetos

 Miembros públicos 


Los miembros públicos describen qué pueden hacer los objetos de esa clase 
  • Qué pueden hacer los objetos (métodos) 
  • Qué son los objetos (su abstracción) 

Miembros privados 



Describen la implementación de cómo lo hacen. 
  • Ejemplo: el objeto contacto interacciona con el circuito eléctrico del vehículo, este con el motor, etc.
  • En sistemas orientados a objetos puros todo el estado es privado y sólo se puede cambiar a través del interfaz público.
  • Ej: El método público frenar puede cambiar el valor del atributo privado velocidad.

Encapsulación de objetos

Encapsulación: describe la vinculación de un comportamiento y un estado a un objeto en particular. 

Ocultación de información: Permite definir qué partes del objeto son visibles (el interfaz público) que partes son ocultas (privadas)




Programación BASADA en Objetos

Declarar e implementación de una clase

Ahora que ya sabes interpretar código e implementar tus propios métodos te encargan el diseño de una clase completa para crear un nuevo tipo de datos con sus características y comportamiento.

Objetivo

  • Ser capaz de declarar una clase con un conjunto de características (atributos) y comportamientos (métodos). 
  • Ser capaz de crear objetos de una clase dada y modificar o restringir el acceso a su estado y su comportamiento.

    Plan de trabajo

  • Memorizar la nomenclatura básica de la programación orientada a objetos 
  • Practicar el modelado de objetos con ejemplos sencillos para distinguir entre una clase, un objeto, su estado y su comportamiento 
  • Repasar la sintaxis java para declarar clases, atributos, constructores y métodos 
  • Recordar el mecanismo y la sintaxis para paso de mensajes entre objetos
Definir los conceptos básicos de la programación basada en objetos 
  • Clases, objetos 
  • Miembros (atributos, métodos) 
  • Abstracción y ocultación de información 
Describir relación entre objeto y clase 
Crear un objeto sencillo y modelar 
  • Sus características (por medio de atributos) 
  • Su comportamiento (por medio de métodos)
  • Clases y objetos 
  • Encapsulación de objetos 
    • Abstracción funcional 
    • Abstracción de datos 
  • Miembros de una clase (atributos y métodos) 
  • Paso de mensajes 
  • Sobrecarga de métodos
  • Constructores 
  • Modificadores y acceso

Introducción a la POO

¿Qué es un objeto?

Los objetos son representaciones (simples/complejas) (reales/imaginarias) de cosas: reloj, avión, coche No todo puede ser considerado como un objeto, algunas cosas son simplemente características o atributos de los objetos: color, velocidad, nombre.

Abstracción funcional 

Hay cosas que sabemos que los coches hacen pero no cómo lo hacen:
  • Avanzar
  • Parar 
  • Girar a la derecha
  • Girar a la izquierda
Abstracción de datos 
Un coche tiene además ciertos atributos:
  • Color 
  • Velocidad
  • Tamaño
Es una forma de agrupar un conjunto de datos (estado) y de funcionalidad (comportamiento) en un mismo bloque de código que luego puede ser referenciado desde otras partes de un programa

La clase a la que pertenece el objeto puede considerarse como un nuevo tipo de datos

Ejemplo



Ejercicio 1

Implementa la clase Bicicleta, que tiene tres atributos, velocidadActual, platoActual y piñonActual, de tipo entero y cuatro métodos acelerar(), frenar(), cambiarPlato(int plato), y cambiarPiñon(int piñon), donde el primero dobla la velocidad actual, el segundo reduce a la mitad la velocidad actual, y el tercero y cuarto ajustan el plato y el piñón actual respectivamente según los parámetros recibidos. La clase debe tener además un constructor que inicialice todos los atributos.
 Crea dos objetos de la clase bicicleta: miBicicleta y tuBicicleta.





Programación BASADA en Objetos

Declarar e implementación de una clase Ahora que ya sabes interpretar código e implementar tus propios métodos te encargan el diseño de una ...