Lenguaje de Programación I Programación Orientada a Objetos Orientación a Objetos “El mundo real está compuesto de objetos que interactúan.” Programación Orientada a Objetos (POO) Se usan objetos para solucionar problemas, que son estructuras lógicas que representan elementos o entidades del mundo real. Se usan nombres que permiten hacer una rápida asociación con el correspondiente objeto. Programación Orientada a Objetos (POO) Se usan atributos o propiedades para representar los estados del objeto. Se usan métodos que describen el comportamiento del objeto y permite interacción con otros objetos. POO: Ejemplo1 Objeto (Moto) en el mundo real POO : Ejemplo1 Métodos: •Avanzar() •Frenar() •CambiarCambio() •Acelerar() •MoverManubrio() Representación lógica de la “Moto” -> Clase Moto Atributos: •marca •color •cc •Velocidad_maxima •peso_maximo •Velocidad_actual Definiciones Objetos: – Mundo Real: Compuesto de objetos físicos y simbólicos. – POO: Elementos simbólicos que representan objetos del mundo real. Clase: – “Un tipo de objeto”, descripción que especifica características comunes a un objeto de un tipo en común. Definiciones Instancia de objeto: – Objeto específico de una Clase que se puede relacionar con otras instancias del mismo u otro tipo. – Se le conoce como el “objeto” en sí. – Por los atributos una instancia es diferente a otra. Definiciones • Objeto real: Moto. • Clase: “Moto”. Instancia1: – Moto Kawasaki, Amarilla, 250 cc, peso máximo 300 kg, 200 km velocidad máxima. Instancia 2: – Moto Scooter YY-150T-12, 150 cc, peso máximo 120 kg, 80 km velocidad máxima. POO : Ejemplo2 Objeto (Soldado) en el mundo real POO : Ejemplo2 Métodos: •Morir() •Atacar() •CambiarArma() •Avanzar() •Correr() •Girar() Atributos: •armas •arma_actual •daño •velocidad •posicion Representación lógica del “Soldado” -> Clase Soldado POO : Ejemplo3 Objeto (Zombie) en el “mundo real” POO : Ejemplo3 Métodos: •Morir() •Atacar() •Avanzar() •Correr() •Gritar() •Contagiar() Atributos: •estado •daño •cantidad_sangre •tipo •velocidad Representación lógica del “Zombie” -> Clase Zombie POO: Ejemplo4 Objeto (Auto) en el mundo real POO : Ejemplo4 Métodos: •Avanzar() •Frenar() •CambiarCambio() •Acelerar() •Girar() Representación lógica de la “Auto” -> Clase Auto Atributos: •marca •color •cilindraje •Velocidad_maxima •Velocidad_actual POO: Ejemplo5 Objeto (Rifle) en el mundo Arma POO : Ejemplo5 Métodos: •Disparar() •CargarBala() •CargarCartucho() Representación lógica de la “Arma” -> Clase Arma Atributos: •tipo •stock_balas •tamaño POO: Ejemplo6 Objeto (Avion) en el mundo real POO : Ejemplo6 Métodos: •Disparar() •LanzarMisiles() •GirarArriba() •GirarLado() •AplicarTurbo() Representación lógica del “Avion” -> Clase Avion Atributos: •tipo •velocidad_maxima •velocidad_actual •stock_misiles •posicion POO: Ejercicio Métodos: Representación lógica del “Boss” en 1943 Atributos: POO: Ejercicio Métodos: Atributos: Representación lógica del “Jugador” en Winning Eleven POO : Ejemplo1 Métodos: Representación lógica de la “Rayo” -> Clase Rayo Atributos: POO : Ejemplo1 Métodos: Representación lógica de “Jesus” -> Clase Jesus Atributos: Orientación a Objetos Fuego Soldado Soldado Rifle Soldado Pasto Rifle Humo Orientación a Objetos Expresa una solución como un conjunto de objetos, que colaboran entre ellos para realizar tareas. Es más fácil conceptualizar los problemas de esta manera. Es más fácil llevar la conceptualización a un programa en sí. Orientación a Objetos Tiempo1 Soldado2 PuntajeGanado2 PuntajeGanado1 Soldado3 Fuego1 Bala1Jugador2 RifleJugador1 Fuego2 Jugador2 Jugador1 Cavernicola1 Cavernicola3 Cavernicola2 Soldado1 Tarea Enumerar cada uno de los actores que intervienen en el videojuego, para los cuales deberá indicar las clases, métodos y atributos que tiene.