Autor Tema: CU00688B concepto polimorfismo java variables jerarquia tipos ejemplos  (Leído 2799 veces)

Jarper

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 20
    • Ver Perfil
Buenas tardes,

llevo horas batallando con esta parte del código que soy incapaz de realizar.
 EJERCICIO

Amplía el código del programa Java que planteamos como ejercicio en la entrega CU00687 de este curso, relativo a la gestión de una empresa agroalimentaria, teniendo en cuenta que la empresa gestiona envíos a través de diferentes medios, y un envío puede contener cierto número de productos frescos, refrigerados o congelados. Añade al código:

a) Una clase EnvioDeProductos que represente un envío de productos como colección de objetos que admite el polimorfismo.

b) Crear una clase testHerencia4 con el método main donde se creen: dos productos frescos, tres productos refrigerados y cinco productos congelados (2 de ellos congelados por agua, otros 2 por agua y 1 por nitrógeno). Crear un envío que represente la agrupación de los anteriores productos. Mostrar por pantalla la información del número de productos que componen el envío y recorrer los productos del envío usando iterator para mostrar la información (valor de los atributos) de cada uno de ellos.

He usado el mismo código que en TestHerencia3 para crear los objetos y se crean correctamente y los añado a la lista de EnvioDeProductos.
En envío de productos he generado el siguiente código:
Código: [Seleccionar]
public class EnvioDeProductos
{
    private ArrayList <Productos> listaEnvios;
    public EnvioDeProductos(){
        listaEnvios = new ArrayList<Productos>();
    }
    public void setListaEnvios(Productos valorProducto){
        listaEnvios.add(valorProducto);
    }
    public Productos getListaEnvios(int valorIndice){
        return listaEnvios.get(valorIndice);
    }
    public int tamañoLista(){ return listaEnvios.size();}
    public void mostrarProductos(){
        Iterator copiaEnvio = listaEnvios.iterator();
        while(copiaEnvio.hasNext()){
            System.out.println(copiaEnvio.next());
        }
    }
}
En mostrarProductos soy incapaz de mostrar los productos usando iterator como indica el ejercicio. Al realizar copiaEnvio.next() devuelve un E(elemento) por lo que devuelve el puntero, no el objeto en si.
No me permite realizar copiaEnvio.next().getFechaDeCaducidad() puesto que indica que no encuentra el método.
Tampoco puedo realizar:
Código: [Seleccionar]
Productos producto1 = new Producto();
producto1 = copiaEnvio.next()
Me indica incompatibilidad de tipos. ¿Alguna idea?

Muchas gracias, atentamente.

Jarper

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 20
    • Ver Perfil
Re:CU00688B concepto polimorfismo java variables jerarquia tipos ejemplos
« Respuesta #1 en: 23 de Enero 2015, 17:51 »
¡Ya está solucionado!
Únicamente tenía que indicar que Iterator<Productos>...
Así he podido realizar:
Código: [Seleccionar]
public void mostrarProductos(){
        Iterator<Productos> copiaEnvio = listaEnvios.iterator();
        while(copiaEnvio.hasNext()){
            Productos producto = copiaEnvio.next();
            System.out.println(producto.mostrarProducto());
        }
    }


Muchas gracias, atentamente.



 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".