Programación Gráfica 8. Clases y objetos.

Slides:



Advertisements
Presentaciones similares
10. Modelación de un Videojuego. BALLOON ATTACK. El planeta está siendo invadido por extraños extraterrestres en forma de globos, y ningún arma existente.
Advertisements

Curso de java básico (scjp)
Unidad 3 Lenguajes .Net y POO
Curso de java básico (scjp)
Programación Gráfica Manejo de Estados. Modelación con estados. ¿Por qué nos interesa modelar el videojuego basándonos en estados? Porque es más intuitivo.
9. Collecciones en C++ .NET
10. Enumeraciones y Propiedades. Es un tipo de estructura en la que los literales de los valores que pueden tomar sus objetos se indican explícitamente.
Definición de Clases y Variables de referencia.
Herencia en C#.
Creación y destrucción de objetos
Lenguaje de programación Java
Clases Extendidas La clase extendida hereda los campos y métodos de la clase de la cual extiende. La clase original se conoce como superclase y la clase.
Curso de JAVA. Iniciando con las Técnologias Java.
Arquitectura CLARO-TECNOTREE
Programación Orientada a Objetos
La Programación Orientado a Objetos
POO en C++: Sintaxis En el .h debe aparecer la declaración de la clase: class NombreClase { private: // atributos y métodos privados public: // atributos.
Informática II Prof. Dr. Gustavo Patiño MJ
Informática II Prof. Dr. Gustavo Patiño MJ
UNIVERSIDAD LATINA (UNILA)
UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO
Aplicación del paradigma orientado a objetos
Informática II 1 Diego Fernando Serna RestrepoSemestre 2011/2.
PROGRAMACION ORIENTADA A OBJETOS
Abstracción de Datos La abstracción es un recurso fundamental en la programación orientada a objetos y está además fuertemente ligado a reusabilidad.
Programación Orientada a Objetos en Java
Algoritmos y Estructuras de Datos Introducción al C++ Herencia.
Vectores en java.
HERENCIA.
Tema 7: Polimorfismo Antonio J. Sierra. Índice Introducción. Sobrecarga de métodos. Objetos como parámetros. Paso de argumentos. Devolución de objetos.
Programación Orientada a Objetos usando C++
Material de apoyo Unidad 2 Estructura de datos
Modificadores.
Lic. Rosemary Torrico Bascopé
Clases y objetos La unidad fundamental de programación OO son las clases. Conjunto de métodos y semántica Qué se va a hacer POO Clase: que define la implementación.
Universidad Autónoma del Estado de Hidalgo Instituto de Ciencias Básicas e Ingeniería Área Académica de Computación y Electrónica Licenciatura en Ciencias.
Tema 6: Clases Antonio J. Sierra.
SCJP Sun Certified Programmer for Java 6
UNIDAD 2 CLASES Y OBJETOS. CLASE Elementos cabecera y cuerpo de la clase. Cabecera: aporta información fundamental sobre la clase en sí y constituye de.
Capitulo # 4 herencia PROGRAMACION III UNIVERSIDAD
Programación Orientada a Objetos usando CONSTRUCTORES DESTRUCTORES.
PROGRAMACIÓN ORIENTADA A OBJETOS USANDO C++
Herramientas de polimorfismo y herencia en C++
Manejo de Punteros y objetos en memoria dinámica en C++
SCJP SUN CERTIFIED PROGRAMMER FOR JAVA 6
Programanción I Ing. Cristhian Garita Fonseca
Constructor  Un constructor es un método que inicia un objeto inmediatamente después de su creación. De esta forma nos evitamos el tener que iniciar.
Metodología de Programación Ayudantía 5 lelagos.ublog.cl 2009.
1 Miembros Estáticos (Static) de Clases y Funciones Amigas (Friend) Agustín J. González ELO329.
Informatica II1 Clases Extendidas La clase extendida hereda los campos y métodos de la clase que ha sido extendida. La clase original se conoce como superclase.
Clases y Objetos en Java ELO329: Diseño y Programación Orientados a Objetos.
1 Miembros Estáticos (Static) de Clases y Funciones Amigas (Friend) Agustín J. González Versión Original de Kip Irvine ELO329.
Programación Orientada a Objetos
Funciones y Clases Amigas (Friend)‏ Miembros Estáticos (Static)
El lenguaje C++ Isidro González Caballero (Universidad de Oviedo) Técnicas de Comp. en Física Santander, 13/12/
1 Miembros Estáticos (Static) de Clases y Funciones Amigas (Friend)‏ Agustín J. González ELO329.
6. Clases y Métodos..  6.1 Structs  6.2 Funciones  6.3 Namespaces  6.4 Clases.
INSTITUTO TECNOLOGICO DE TEHUACAN Ingeniería en sistemas computacionales Curso de apoyo a la titulación CLASES DE JAVA Diciembre de 2008.
Clases “ Es una Abstracción de un elemento del mundo real ”
Programación orientada a objetos La programación orientada a objetos o POO (OOP según sus siglas en inglés) es un paradigma de programación que usa objetos.
Prof. Manuel B. Sánchez. La parte ingenieril de un proceso de desarrollo de software, comprende realizar un diseño del sistema antes de empezar a escribir.
LICETH CAJAS 3RO ASI 26/10/2010. Es un lenguaje de programación diseñado para crear una amplia gama de aplicaciones que se ejecutan en.NET Framework,
Prof. Manuel B. Sánchez. Declaración de Objetos Una vez que la clase ha sido implementada se pueden declarar objetos como variables locales de métodos.
Métodos en Java. Estructura de un programa en Java ► La relación con la vida misma la podemos ver en el siguiente comentario: Imaginemos que dos clases.
This y static. This Normalmente, dentro del cuerpo de un método de un objeto se puede referir directamente a las variables miembros del objeto. Sin embargo,
Programación en Java Introducción a Java. Reseña histórica Surge en 1991 por Sun Microsystems Desarrollado para electrodomésticos Se buscaba un código.
Prof. Manuel B. Sánchez. Es un mecanismo y uno de los pilares de la POO que permite definir nuevas clases a partir de otras preexistentes. La Herencia.
Programación I Clases. Paradigma POO La programación Orientada a objetos (POO) es una forma programar, más cercana a como expresaríamos las cosas en la.
PROGRAMACION ORIENTADA A OBJETOS
Programación en Java Introducción a Java. Reseña histórica Surge en 1991 por Sun Microsystems Desarrollado para electrodomésticos Se buscaba un código.
Transcripción de la presentación:

Programación Gráfica 8. Clases y objetos

Clases

Clases En Programación orientada a objetos, cada objeto del mundo real puede ser presentado como una clase en el programa. Se pueden instanciar múltiples objetos de esa clase, cada una con diferentes atributos.

Declaración class <identificador de clase> { <lista de miembros> };

Especificadores de acceso class <identificador de clase> { public: <lista de miembros> private: protected: };

Especificadores de acceso class Jugador { private: MovType mov_type; Sprite* sp; float velocity; public: Jugador(SceneManager* sm); void Move(MovType type); void Stop(MoveType type); void LoopJugador(); };

Especificadores de acceso Acceso privado, private: Los miembros privados de una clase sólo son accesibles por los propios miembros de la clase, pero no desde funciones externas o desde funciones de clases derivadas. Acceso publico, public: Cualquier miembro público de una clase es accesible desde cualquier parte donde sea accesible el propio objeto.

Especificadores de acceso Acceso protegido, protected: Con respecto a las funciones externas, es equivalente al acceso privado, pero con respecto a las clases derivadas se comporta como público

Constructores Son funciones especiales que nos permiten inicializar el objeto asociado a la clase, y así mismo inicializar todos sus valores. Tienen el mismo nombre que la clase, no retornan ningún valor y por lo general son public.

Constructores Jugador::Jugador(SceneManager* sm) { this->sp = sm->CreateSprite("naveJugador","nave.bmp",0.0f,0.0f); this->velocity = 2.0f; this->mov_type = MovType::MOV_NONE; }

Sobrecarga de constructores Al igual que las funciones, éstas se pueden sobrecargar de igual manera. Jugador(SceneManager* sm); Jugador(SceneManager* sm, int x, int y); Jugador(SceneManager* sm, int x, int y, char name[50]);

Creación de objetos Para crear un objetos se debe asignar espacio en memoria para dicho objeto y sus componentes. Para ir al espacio de memoria asignado se ocupan PUNTEROS. Un objeto no es más que una instancia de una clase, y por lo tanto se pueden crear tantas instancias como memoria se tenga.

Objetos Para crear objetos se utiliza el operador * y la palabra reservada new. Jugador* jugador1 = new Jugador(sm) Jugador* jugador2 = new Jugador(sm, 0, 100); Jugador* jugador3 = new Jugador(sm, 0, 100, “Terminator”);

Funciones Cada clase puede tener funciones que representarán las acciones que puede realizar un objeto en el mundo real -> POO. Ejemplo: Un Soldado puede: Disparar, Correr, Cargar su arma, etc. Un Auto puede: Aplicar Turbo, Avanzar, Girar, etc.

Funciones - Ejemplo Se tiene una enumeración que indique los movimientos que puede hacer un jugador. enum MovType { MOV_NONE, MOV_UP, MOV_RIGHT, MOV_LEFT, MOV_DOWN };

Funciones - Ejemplo void Jugador::Move(MoveType mov_Type) { switch(mov_type) case MOV_UP: sp->SetPosition(sp->getPositionX(), sp->getPositionY() - velocity); break; case MOV_LEFT: sp->SetPosition(sp->getPositionX() - velocity, sp->getPositionY()); case MOV_RIGHT: sp->SetPosition(sp->getPositionX() + velocity, sp->getPositionY()); case MOV_DOWN: sp->SetPosition(sp->getPositionX(), sp->getPositionY() + velocity); default: }

Funciones Para llamar a las funciones de un objeto se ocupa el operador -> jugador1->Move(MoveType::MOV_DOWN); jugador2->Move(MoveType::MOV_UP);

Destructores Sirven para eliminar un objeto de una clase determinada, liberando memoria utilizada por el objeto. ~WorldManager() { delete background; delete jugador; delete sm; }

C++ .NET En C++ .NET las clases son administradas, esto quiere decir que el entorno provee servicios automáticos al código que se ejecuta. Para declarar una clase se utiliza la palabra reservada “ref”. ref class Jugador { <cuerpo> };

C++ .NET Para asignar memoria y crear objetos se utiliza el operador ^ y la palabra reservada gcnew. Jugador^ jugador = gcnew Jugador(sm); Para llamar a funciones del objeto, es lo mismo que en c++ standar. jugador->Mover(MoveType::MOV_UP);

Preguntas ¿? 21