You are on page 1of 7

CLASES ABSTRACTAS

EN JAVA

CLASES ABSTRACTAS
Clases cuya descripcin es incompleta. Una clase abstracta declara mtodos, pero no tiene que implementarlos. No proporcionan la implementacin de todos sus mtodos
Los mtodos no implementados se declaran como abstract

Una clase con un mtodo abstracto debe declararse como clase abstracta
Pero una clase puede declararse como abstracta aunque no tenga ningn mtodo abstrac

CLASES ABSTRACTAS
Las subclases de una clase abstracta deben: Sobre escribir todos los mtodos abstractos de la superclase, o bien Ser declaradas como clases abstractas Una clase abstracta no puede instanciarse No se pueden crear objetos de una clase abstracta Una clase abstracta puede incluir variables y mtodos no abstractos. No se pueden definir constructores abstractos o mtodos estticos abstractos

EJEMPLO
Estudiemos pues este sencillo ejemplo: Para empezar identificamos la clase abstracta con la palabra reservada abstract. Esta clase abstracta tiene un mtodo abstracto. Por cierto, este no tiene body. Eso es porque los mtodos abstractos no necesitan cuerpo.

EJEMPLO
Y entonces para que nos sirven las clases abstractas? Las clases abstractas cumplen una funcin muy especial Slo sirven para la herencia. Otro detalle: No se pueden instanciar, jams, es imposible encontrar un objeto de las clases abstractas directamente.

EJEMPLO
Sabemos que todos los animales hablan, pero no todos lo hacen de la misma forma Por eso heredamos de la clase Animal el mtodo abstracto habla y lo implementamos en las clases Perro y Gato

TALLER
Usando el concepto de clases abstractas desarrolle el siguiente enunciado:

En la ciudad de Pamplona se va a desarrollar un campeonato de Paintball en donde participan 10 jugadores 5 del equipo Azul y 5 del Equipo Rojo. Cada jugador maneja la siguiente informacin: Cdigo, Equipo (1. Azul 2. Rojo), Puntos Ganados, Puntos Nulos y Puntos Perdidos. Al iniciar el juego se registran los 10 jugadores con su informacin bsica y los puntos comienzan en 0. Durante el desarrollo del juego existe un rbitro que debe llevar el control de los Puntos ganados (disparos certeros a un contrincante), Puntos Nulos (Disparos errados de un jugador) y Puntos Perdidos (disparos recibidos). Un jugador puede disparar un nmero ilimitado de balas de pintura durante el juego, pero si recibe 5 disparos se considera Fuera de combate y no puede seguir jugando. El equipo rojo tiene una ventaja de que cada disparo certero tiene un valor de 1.5 Para facilitar el trabajo del Arbitro en el campeonato le han solicitado un programa en Java Orientado a Objetos con un men de la siguiente forma: 1. Inicializar Equipos. 2. Asignar Disparo Certero. 3. Asignar Disparo Errado. 4. Resumen de Equipos. 5. Salir
El men debe operar de la siguiente forma: Inicializar Equipos: Solicita los datos bsicos de los 10 jugadores. Asignar Disparo Certero: Solicita el cdigo del jugador que disparo y el cdigo del jugador que recibi el disparo y actualiza los puntos de cada uno y si el jugador que recibi el disparo completa 5 puntos debe ser dado de baja del combate imprimiendo un mensaje con la informacin del jugador que no continua. Asignar Disparo Errado: Solicita el cdigo del jugador que disparo y actualiza su puntaje de Nulos. Resumen de Equipos: Esta Opcin debe imprimir: Cuantos puntos Totales (Ptos Ganados, Ptos Nulos y Ptos Perdidos) que tiene cada equipo (Rojo y Azul). Que Equipo quedo con menos Jugadores. Informacin del Jugador que ms Disparos Certeros Realizo.

You might also like