sábado, 12 de febrero de 2011

Taller de Programación Orientada a Objetos

Sesión 2. -Implementación de varias clases que se comunican.

Este programa está pensado en una aplicación (nada decente) para el cine.
El programa da a elegir qué película quieres ver mediante un menú, después
de elegir hace el cobro por el boleto, y al final te dice las características del mismo
como el precio, el título y la hora de la función.

Se compone de 3 clases que se llaman: class MenuEleccion, class Boleto, class Entrega:

Acá les dejo el código de las 3 clases y las imágenes del programa en ejecución.

Clase Boleto:


/*

ALUMNO:CARLOS TRIANA DRA. SARA ELENA GARZA
Este programa esta pensado en una aplicación
para un cine, el programa da a elegir qué película
quieres ver mediante un menú , después de
elegir hace el cobro por la película y al final
te entrega el boleto, con las características del mismo.

Tiene 3 clases, las cuales se llaman class MenuEleccion,
class Cobro y class Entrega.

*/
public class Boleto
{
private int precio;
private int hora;
private String titulo;

public Boleto(int precio, int hora, String titulo)
{
this.precio = precio;
this.hora = hora;
this.folio = folio;
this.titulo = titulo;
}//Fin de constructor Boleto

public void setPrecio(int precio){

this.precio = precio;
}

public int getPrecio(){
return precio;
}

public int getHora(){
return hora;
}

public String getTitulo(){
return titulo;
}

}


Clase Entrega:




import java.util.*;
// ALUMNO: CARLOS TRIANA DRA. SARA ELENA GARZA
public class Entrega
{
public static void Entrega1(){
Boleto b1 = new Boleto(100,5,"Sin memoria");

System.out.println("El nombre de la pelicula es : " + b1.getTitulo());
System.out.println("El precio del boleto es : " + b1.getPrecio());
System.out.println("La hora de la funcion es : " + b1.getHora());
}//Fin de Entraga1

public static void Entrega2(){
Boleto b2 = new Boleto(100,8,"Venganza letal");

System.out.println("El nombre de la pelicula es : " + b2.getTitulo());
System.out.println("El precio del boleto es : " + b2.getPrecio());
System.out.println("La hora de la funcion es : " + b2.getHora());
}//Fin de entrega2

public static void Entrega3(){
Boleto b3 = new Boleto(100,11,"Sanctum");

System.out.println("El nombre de la pelicula es : " + b3.getTitulo());
System.out.println("El precio del boleto es : " + b3.getPrecio());
System.out.println("La hora de la funcion es : " + b3.getHora());
}//Fin de Entrega3
}//Fin de la clase Entrega




Clase MenuEleccion:



import java.util.Scanner;

//ALUMNO: CARLOS TRIANA DRA.SARA ELENA GARZA

public class MenuEleccion
{
public static final Scanner entrada = new Scanner(System.in); //Entrada de datos
private int numero;
private int eleccion;

public static void MenuEleccion()
{
int eleccion;
int numero;

System.out.print("\nMENU DE ELECCION DE PELICULA");
System.out.println("\n\nIngrese un numero para elegir una pelicula:\n");
System.out.print("1 - Sin Memoria\n2 - Venganza letal\n3 - Sanctum\n\n");
eleccion=entrada.nextInt();
System.out.println();

if (eleccion==1)
{
System.out.println("Has elegido la pelicula: Los ojos de Julia\n");
Entrega.Entrega1();
}

else if (eleccion==2)
{
System.out.println("Has elegido la pelicula: Venganza letal\n");
Entrega.Entrega2();
}

else if (eleccion==3)
{
System.out.println("Has elegido la pelicula: Sanctum\n");
Entrega.Entrega3();
}

}//Fin del metodo MenuEleccion

public static void main(String args[]){

MenuEleccion();

}//Fin de la funcion main
}//Fin de la clase MenuEleccion



Es todo por esta entrada, cualquier duda o corrección pueden dejarla en comentarios.
Saludos ;)

1 comentario:

  1. Bien, aunque siento que la clase "Entrega" está de sobra; si te fijas, pudiera ser un método en la misma clase "Boleto". Igualmente, no necesitas tener un método "Entrega 1", "Entrega 2" y "Entrega 3"; con un sólo método de éstos y la inclusión de parámetros, puedes obtener la misma funcionalidad. Esto además te permite tener un código más modular y evitar mucha reprogramación si tienes que cambiar los métodos (sólo cambiarías uno y no tres).

    Otra recomendación: trata de apegarte a las convenciones. Clases con PascalCasing, métodos y atributos con camelCasing.

    Bien.

    Calificación: 2.2/5

    ResponderEliminar