domingo, 30 de enero de 2011

TPOO - Clase 2 y 3: Integración de clases y Esqueleto del proyecto

Ejercicio 1: Programar un ejemplo que involucre múltiples clases.


Mi programa es sencillo, tiene 3 clases: main, Partido, Equipo.

La clase Equipo genera un equipo con un cierto nombre y contiene métodos como:
- generarGoles(): este método como su nombre lo dice le da al equipo creado un cierto número de goles a favor(en este ejemplo es simplemente aleatorio y puede salir cualquier número entre 0 y 3 ).

- obtenerGoles(): simplemente retorna los goles anotados en un "partido" jugado.
- Equipo: método constructor, que en el ejemplo solo sirve para darle un nombre al equipo.
-getNombre(): retorna el nombre del equipo.
import java.util.Random;
public class Equipo{
 //Atributos
 private int moralidad;
 private boolean localidad;
 private int golesFavor;
 private int golesContra;
 private String nombreEquipo;

 
 //Metodo para generar los goles
 public void generarGol(){
  Random rnd = new Random();
  golesFavor = rnd.nextInt(3);
  this.golesFavor = golesFavor;
  return;
 }
 public void golesContra(int golesContra){
  this.golesContra = golesContra;
 }
 //Metodo que devuelve los goles generados
 public int obtenerGoles(){
  return golesFavor;  
 }
 //Metodo constructor
 public Equipo(String nombreEquipo){
  this.moralidad = 5;
  this.nombreEquipo = nombreEquipo;
 }
 public String getNombre(){
  return nombreEquipo;
 } 
}

La segunda clase es Partido, donde se crean los objetos para dos equipos, Equipo A y Equipo B y se utilizan los métodos de la clase Equipo para generar sus goles para hacer una comparación y saber que equipo gano.
-jugarPartido(): su función es simple. crea dos objetos que serán dos equipos, y los pone a "jugar" para obtener un resultado aleatorio.
public class Partido{

 private int golesA;
 private int golesB;

 public void jugarPartido(){
  //Creo dos equipos, uno llamado A, y otro B
  Equipo equipoA = new Equipo("Equipo A");
  Equipo equipoB = new Equipo("Equipo B");
  //Genero goles aleatorios...
  equipoA.generarGol();
  equipoB.generarGol();
  //y los asigno a los equipos
  golesA = equipoA.obtenerGoles();
  golesB = equipoB.obtenerGoles();
  System.out.println("Resultado: ");
  System.out.println(equipoA.getNombre()+" "+equipoA.obtenerGoles());
  System.out.println(equipoB.getNombre()+" "+equipoB.obtenerGoles());
  //Comparo e imprimo al ganador, o en su defecto declara empate  
  if(golesA > golesB){
   
   System.out.println(equipoA.getNombre()+" gana ");
  }
  else
  if(golesB > golesA){
   
   System.out.println(equipoB.getNombre()+" gana");
  }
  else{
   System.out.println("Empate");
  } 
 }
}


La última clase es main, que su función es crear un partido, y jugarlo.
public class main{
 public static void main(String[]args){
  
  Partido partido = new Partido();
  partido.jugarPartido();
 }
}

Ejercicio 2: Hacer un borrador inicial de las clases que involucra mi proyecto

El "esqueleto" o borrador de mi proyecto y las clases que tengo pensadas por el momento son las siguientes:

Clase Administrador:
public class Administrador{

 private int adminCode;
 private String passwAdmin;
 private int numCliente;
 private int numHabitacion;
 
 
 protected void borrarCliente(int adminCode,int numCliente){
 }
 
 protected void habilitarDisponibilidad(int numHabitacion){
 }
 
 protected void deshabilitarDisponibilidad(int numHabitacion){
 }

 protected boolean agregarCliente(int numCliente,int numHabitacion){
 }

 protected boolean revisarDisponibilidad(int numHabitacion){
 }
 
 protected void cambiarPrecios(){
 }
}


Clase Cliente:
public class Cliente{
 
 private String nombreCliente;
 private int numCliente;
 private int numHabitacion;
 private String servicio;
 
 public String getNombreCliente(){
  return nombreCliente;
 }
 public void checarDisponibles(){
 }
 public boolean solicitarExtension(){
   return true;
 }
 public String checarTiempo(int numHabitacion){
 }
 public void pedirServicio(String servicio,int numHabitacion){
 }
 
 public Cliente(int numCliente){
 }
}

Class Habitaciones:
public class Habitaciones{
 
 private int numHabitacion;
 private boolean disponibilidad;
 private final int habitacionesTotales = 21;
 private double[] precioHabitacion = new double[habitacionesTotales];
 private boolean[] disponibilidadHabitacion= new boolean[habitacionesTotales];
 
 public void asignarPrecios(){
 }
 public void asignarDisponibilidad(){
 }
    
 public boolean checarDisponibilidad (int numHabitacion){
  if(disponibilidadHabitacion[numHabitacion] == true){
   return true;
  }
  else{
   return false;
  }
 }

 public double checarPrecio(int numHabitacion){
  return precioHabitacion[numHabitacion];
 }

 public Habitaciones(int numHabitacion){
  this.numHabitacion = numHabitacion;
 }
}





Saludos.

1 comentario:

  1. Muy bien. Aunque las clases del proyecto todavía tienen detalles, van por buen camino. El ejemplo que involucra distintas clases me parece bastante atinado.

    Calificación: 5/5 (2.5 + 2.5)

    ResponderEliminar