Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
1
respuesta

[Proyecto] Haga lo que hicimos en aula: declarando constructores

import java.util.ArrayList;

public class main { public static void main(String[] args) { var miPelicula1 = new Pelicula("0Encanto",2020);

    var miPelicula2 = new Pelicula("1Señor de los anillo",2021);

    //Creando Array de Pelicula
    ArrayList<Pelicula> listaDePeliculas = new ArrayList<>();
    //Agregando Pelicula/OBJETOS a la lista
    listaDePeliculas.add(miPelicula1);  //Fila0 con 2 columnas
    listaDePeliculas.add(miPelicula2);  //Fila1 con 2 columnas

    //Tamaño de la lista QUE TIENE METODOS.
    System.out.println("Tamaño de la lista :"+listaDePeliculas.size());

    //Numero 0 es la 1ra lista: Y el Nombre de la 1ra de la lista.
    System.out.println("Tamaño de la lista :"+listaDePeliculas.get(1).getNombre());

    System.out.println("P1 :"+listaDePeliculas.get(1).getNombre());
    System.out.println("P1 :"+listaDePeliculas.get(1).getFechaDeLanzamiento());

    System.out.println("P1 :"+listaDePeliculas.toString());
}

}

public class Pelicula { //Atributos private String nombre; private int fechaDeLanzamiento;

public Pelicula(String nombre, int fechaDeLanzamiento) {
    this.nombre=nombre;
    this.fechaDeLanzamiento=fechaDeLanzamiento;
}

//Para sobre escribir:  Esribimos:  tos

@Override public String toString() { return "wPelicula{" + "wnombre='" + this.nombre + ''' + ", fwechaDeLanzamiento=" + this.fechaDeLanzamiento + '}'; }

public String getNombre() { return nombre; } public void setNombre(String nombre) { this.nombre = nombre; }

public int getFechaDeLanzamiento() { return fechaDeLanzamiento; } public void setFechaDeLanzamiento(int fechaDeLanzamiento) { this.fechaDeLanzamiento = fechaDeLanzamiento; } }

Tamaño de la lista :2 Tamaño de la lista :1Señor de los anillo P1 :1Señor de los anillo P1 :2021 P1 :[wPelicula{wnombre='0Encanto', fwechaDeLanzamiento=2020}, wPelicula{wnombre='1Señor de los anillo', fwechaDeLanzamiento=2021}]

1 respuesta

Hola Wilder, espero que estés bien

Parece que estás trabajando con una estructura de clases similar a la que se discutió en clase. En tu código, ya tienes una clase Pelicula con un constructor que recibe el nombre y la fecha de lanzamiento, lo cual es correcto. Sin embargo, parece que el contexto de la actividad sugiere que Pelicula debería heredar de una clase Titulo, y que deberías usar la palabra clave super para llamar al constructor de la clase madre.

Aquí tienes algunos pasos que podrías seguir para alinear tu código con la actividad:

  1. Crear la clase Titulo: Asegúrate de tener una clase Titulo que contenga los atributos comunes, como el nombre y la fecha de lanzamiento.

  2. Modificar la clase Pelicula: Cambia tu clase Pelicula para que extienda de Titulo. Aquí tienes un ejemplo de cómo podría verse:

    public class Pelicula extends Titulo {
        // Constructor
        public Pelicula(String nombre, int fechaDeLanzamiento) {
            super(nombre, fechaDeLanzamiento);
        }
    
        // Métodos adicionales
        @Override
        public String toString() {
            return "Pelicula{" +
                    "nombre='" + getNombre() + '\'' +
                    ", fechaDeLanzamiento=" + getFechaDeLanzamiento() +
                    '}';
        }
    }
    
  3. Actualizar la clase main: Asegúrate de que las instancias de Pelicula se crean correctamente con el constructor que ahora hereda de Titulo.

    public class Main {
        public static void main(String[] args) {
            Pelicula miPelicula1 = new Pelicula("Encanto", 2020);
            Pelicula miPelicula2 = new Pelicula("Señor de los Anillos", 2021);
    
            ArrayList<Pelicula> listaDePeliculas = new ArrayList<>();
            listaDePeliculas.add(miPelicula1);
            listaDePeliculas.add(miPelicula2);
    
            System.out.println("Tamaño de la lista: " + listaDePeliculas.size());
            System.out.println("Nombre de la segunda película: " + listaDePeliculas.get(1).getNombre());
            System.out.println("Películas: " + listaDePeliculas);
        }
    }
    

Siguiendo estos pasos, deberías poder alinear tu proyecto con lo que se discutió en clase. Espero que esto te ayude a avanzar con tu proyecto. ¡Espero haber ayudado y buenos estudios!