Programaci - PowerPoint PPT Presentation

About This Presentation
Title:

Programaci

Description:

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. – PowerPoint PPT presentation

Number of Views:47
Avg rating:3.0/5.0
Slides: 22
Provided by: kom125
Category:

less

Transcript and Presenter's Notes

Title: Programaci


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

2
Clases
3
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.

4
Declaración
  • class ltidentificador de clasegt
  • ltlista de miembrosgt

5
Especificadores de acceso
  • class ltidentificador de clasegt
  • public
  • ltlista de miembrosgt
  • private
  • ltlista de miembrosgt
  • protected
  • ltlista de miembrosgt

6
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()

7
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.

8
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

9
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.

10
Constructores
  • JugadorJugador(SceneManager sm)
  • this-gtsp sm-gtCreateSprite("naveJugador","nave.b
    mp",0.0f,0.0f)
  • this-gtvelocity 2.0f
  • this-gtmov_type MovTypeMOV_NONE

11
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
    name50)

12
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.

13
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)

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

15
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

16
Funciones - Ejemplo
  • void JugadorMove(MoveType mov_Type)
  • switch(mov_type)
  • case MOV_UP
  • sp-gtSetPosition(sp-gtgetPositionX(),
    sp-gtgetPositionY() - velocity)
  • break
  • case MOV_LEFT
  • sp-gtSetPosition(sp-gtgetPositionX() - velocity,
    sp-gtgetPositionY())
  • break
  • case MOV_RIGHT
  • sp-gtSetPosition(sp-gtgetPositionX() velocity,
    sp-gtgetPositionY())
  • break
  • case MOV_DOWN
  • sp-gtSetPosition(sp-gtgetPositionX(),
    sp-gtgetPositionY() velocity)
  • break
  • default
  • break

17
Funciones
  • Para llamar a las funciones de un objeto se ocupa
    el operador -gt
  • jugador1-gtMove(MoveTypeMOV_DOWN)
  • jugador2-gtMove(MoveTypeMOV_UP)

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

19
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
  • ltcuerpogt

20
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-gtMover(MoveTypeMOV_UP)

21
Preguntas ?
Write a Comment
User Comments (0)
About PowerShow.com