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

Haga lo que hicimos en aula: declarando constructores

principal/PrincipalConListas.java


import modelos.Pelicula;
import modelos.Serie;
import modelos.Titulo; // Importamos la clase base
import java.util.ArrayList;

public class PrincipalConListas {
    public static void main(String[] args) {

        // 1. Instanciación usando los constructores (nombre, fechaDeLanzamiento)
        
        // Pelicula 1
        Pelicula favorita = new Pelicula("El señor de los anillos", 2001);
        favorita.evalua(10); // Asume que evalua() existe y afecta la Clasificacion
        favorita.evalua(9); 
        
        // Pelicula 2
        Pelicula otra = new Pelicula("John Wick", 2014);
        otra.evalua(9);
        otra.evalua(8); 

        // Serie
        Serie serie = new Serie("La Casa de Papel", 2017);

        // 2. Creación del ArrayList polimórfico
        // La lista es de tipo Titulo, pero acepta Pelicula y Serie (Herencia)
        ArrayList<Titulo> lista = new ArrayList<>();
        lista.add(favorita);
        lista.add(otra);
        lista.add(serie);

        System.out.println("--- Recorriendo la lista de Títulos ---");

        // 3. Recorrido con Loop foreach y validación con instanceof
        for (Titulo item : lista) {
            
            // Imprime el nombre (método polimórfico de Titulo)
            System.out.println("\nNombre: " + item.getNombre());
            
            /*
             * Uso de 'instanceof' con Pattern Matching (Java 16+):
             * 1. Verifica si 'item' es una instancia de Pelicula.
             * 2. Si es verdadero, realiza el casting y asigna el resultado
             * a la nueva variable local 'pelicula' de forma implícita.
             * 3. Luego, evalúa la condición adicional: pelicula.getClasificacion() > 2
             */
            if (item instanceof Pelicula pelicula && pelicula.getClasificacion() > 2) {
                System.out.println("Es una Película bien clasificada.");
                System.out.println("Clasificación: " + pelicula.getClasificacion());
            } else {
                System.out.println("No es una película o su clasificación es baja/desconocida.");
            }
        }
    }
} 
1 respuesta

Hola Mario, espero que estés muy bien.

Felicitaciones por tu aprendizaje. Estamos priorizando el foro para postear dudas, así optimizamos el tiempo de respuesta para ustedes.

Te recomiendo que puedes interactuar con el resto de nuestros compañeros por nuestro Discord.

En virtud de que en Discord el alcance es mayor, la interacción es inmediata y llega a más compañeros y el foro solo quedaría para esclarecer cualquier duda que puedas tener sobre el contenido de los cursos.

De esa manera si tienes algún comentario, opinión, recomendación o algún consejo, o para compartir los desafios sea por el Discord, con certeza por ahí llegará a más personas.

Un saludo.

Si este post te ayudó, por favor, marca como solucionado ✓. Continúa con tus estudios