Catalogador de recursos

Páginas: 6 (1352 palabras) Publicado: 1 de febrero de 2014
Grupo CUYS (Como usted ya sabe) |WWW.CUYS.COM.AR
Fac. Cs. Exactas (UNICEN) Hoja 1

Programación Orientada a Objetos - Ejercicio 3 Práctico 4
Enunciado:
Defina las clases (nombre, superclase, atributos y métodos) para
implementar una solución orientada a objetos para el siguiente problema e
implemente en Java.
Un Catalogador de recursos multimedia permite mantener información de
programasde software, música, películas y libros digitales. Cada recurso
posee un nombre, una fecha de adquisición y una ubicación en las
estanterías (número de biblioteca, número de estante y posición en el
estante). Los recursos pueden estar almacenados en CDs o en DVDs.
Adicionalmente se permite que el usuario agregue nuevos atributos a cada
recurso. También ciertos atributos se derivan en base aotros atributos
del recurso. Por ejemplo a continuación se muestra como se podría derivar
ciertos atributos (las formas de calcular los atributos derivados son
solo las que se detallan aquí):
Atributo descripción: concatenación atributo nombre + atributo utilidad.
Atributo horas préstamo: atributo cantidad prestamos * atributo promedio
horas préstamo.
Atributo utilización: si atributoretiro > 1000 entonces “alta” sino
“baja”.
Atributo utilización2: si atributo retiro > 1000 entonces atributo
cantidad prestamos * atributo promedio horas préstamo sino 0.
Todos estos son ejemplos de atributos que agrego el usuario.
Se desea poder armar listados ordenados (ascendente o descendente) por
múltiples atributos de los recursos. En caso de igualdad de dos recursos
para un atributo dadose debe permitir ordenarlos por los siguientes
criterios de orden.

Ejemplo: primero por numero de biblioteca (ascendente), luego por
atributo nombre (descendente) ...... (se ordenan en forma
ascendente por el valor del atributo numero de biblioteca, para
los elementos con el mismo valor se ordenan luego por el atributo
nombre de manera descendente. ) ...

Grupo CUYS (Como usted yasabe) |WWW.CUYS.COM.AR
Fac. Cs. Exactas (UNICEN) Hoja 2

Grupo CUYS (Como usted ya sabe) |WWW.CUYS.COM.AR
Fac. Cs. Exactas (UNICEN) Hoja 3

Catalogador.java
import java.util.Enumeration;
public class Catalogador {
private Vector recs;
public Catalogador(){
recs = new Vector();
}
public void add(Recurso r){
recs.add(r);
}
public Vector getListado(Criterio c){
Vector res = newVector();
for(Enumeration e = recs.elements(); e.hasMoreElements();){
Recurso aux = (Recurso)e.nextElement();
if( c.cumple(aux) )
res.add(aux);
}
return res;
}
public void mostrar(Vector r){
if(r.size() == 0)
System.out.println("No Existe Recurso Que Cumpla La Condición");
else{
for (int i = 0; i < r.size(); i++){
((Recurso)r.elementAt(i)).mostrar();System.out.println("------------------------------------");
}
}
}
}

Grupo CUYS (Como usted ya sabe) |WWW.CUYS.COM.AR
Fac. Cs. Exactas (UNICEN) Hoja 4

Recurso.java
import java.util.Enumeration;
public class Recurso{
private Hashtable atrib;
public Recurso(String n, String f, String u){
atrib = new Hashtable();
Simple s = new Simple("Nombre", n);
this.add(s);
s = new Simple("Fecha", f);
this.add(s);
s = newSimple("Ubicacion", u);
this.add(s);
}
public void add(Atributo s){
atrib.put(s.getNombre(),s);
}
public Object getValor(String n){
if ( (Atributo)atrib.get(n) != null)
return ( ((Atributo)atrib.get(n)).getValor() );
else
return null;
}

}

public void mostrar(){
for (Enumeration i = atrib.keys(); i.hasMoreElements(); ){
String aux = i.nextElement();
System.out.println( aux + " " +getValor(aux) );
}
}

Atributo.java
public abstract class Atributo {
protected String nombre;
public Atributo(String n){
nombre = n;
}
public String getNombre(){
return nombre;
}
public abstract Object getValor();

}

public void imprimir(){
System.out.print(nombre + " " + this.getValor().toString());
}

Grupo CUYS (Como usted ya sabe) |WWW.CUYS.COM.AR
Fac. Cs. Exactas (UNICEN)...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Catalogo
  • Catalogo
  • Catalogo
  • catalogo
  • Catalogos
  • Catalogo
  • Catalogos
  • Catalogos

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS