Documentos de Académico
Documentos de Profesional
Documentos de Cultura
TIPO A
Primera Parte: Test
a. 101112
b. 202122
c. 021222
d. 021022
6. Si tenemos una clase A con un mtodo m1, cmo debemos definirlo para
que ste slo pueda ser invocado desde la misma clase A y desde las
subclases de la misma?
Por otro lado, cada producto est identificado por un nmero. Adems, para el
caso particular de las impresiones, se desea almacenar si sta es a color, el
ancho y el largo (en cm.) y la lista de fotos que se quieren imprimir. En cuanto a
las cmaras, estn identificadas por la marca y el modelo.
Foto
Antes de comenzar a responder, lea con atencin todos los apartados. Se pide:
abstract
Producto
protected int id
ImpresionFotos Camara
private boolean color private String marca
Foto private int ancho private String modelo
private int largo
public Foto(String fichero) private List<Foto> fotos public void print()
public void print() /* metodos set y get de
public void print() los atributos */
/* metodos set y get de los
atributos */
2. (4 puntos) Escribir el cdigo necesario (en las clases que sea necesario)
para mostrar por pantalla todos los pedidos realizados por un cliente. De
manera que se muestren siguiendo el siguiente formato (los datos de las
fotos de una solicitud de impresin se mostrarn utilizando el mtodo
print() de la clase Foto):
Cliente: Pepito
Pedidos:
Fecha: 19/03/2013
Tarjeta: 12345678910
Productos:
Id: 13
Impresin de fotos
Color: si
Ancho: 13 cm
Largo: 18 cm
Fotos: Foto1.jpg, Foto2.jpg
Id: 14
Cmara fotogrfica
Marca: Nikon
Modelo: d5100
SOLUCIN
GestorPedidos:
public void mostrarPedidos(String cliente) {
System.out.println("Cliente: " + cliente);
for (Pedido p : this.pedidos) {
if (p.getCliente().equals(cliente)) {
p.print();
}
}
}
Pedido:
public void print() {
System.out.println("Fecha: " + this.fecha);
System.out.println("Tarjeta: " + this.tarjeta);
System.out.println("Productos:");
for (Producto p : this.productos) {
p.print();
}
}
Producto:
public abstract void print();
ImpresinFotos:
/*
* (non-Javadoc)
* @see Producto#print()
*/
@Override
public void print() {
System.out.println("Id: " + this.id);
System.out.println("Revelado de fotos");
System.out.println("Color: " + this.color);
System.out.println("Ancho: " + this.ancho);
System.out.println("Ancho: " + this.largo);
System.out.print("Fotos: ");
for (Foto f : this.fotos) {
f.print();
System.out.print(" ");
}
}
Cmara:
/*
* (non-Javadoc)
* @see Producto#print()
*/
@Override
public void print() {
System.out.println("Id: " + this.id);
System.out.println("Camara fotogrfica");
System.out.println("Marca: " + this.marca);
System.out.println("Modelo: " + this.modelo);
}
3. (1 punto) Despus de tener en funcionamiento la aplicacin, se ha
detectado una importante limitacin. Con los requisitos especificados no se
pueden distinguir entre potenciales pedidos realizados por el mismo cliente,
con los mismos productos, en la misma fecha. Qu modificaciones se
podran realizar para distinguir estos casos?
SOLUCIN