Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Solucionado (ver solución)
Solucionado
(ver solución)
1
respuesta

[Duda] Es posiblle que un objeto creado a partir de una clase tenga validez como 2 o mas tipos de datos?

En este caso, si el objeto "miPelicula" es de tipo clase: Pelicula, y el objeto de tipo clase: filtroRecomendacion con metodo filtro espera el tipo de dato en el parametro clasificable, eso quiere decir que "miPelicula" tiene dualidad de tipo de dato? es decir que es de tipo clase pelicula y a la vez de tipo interfaz clasificable?

public class Principal
{
    public static void main(String[] args)
    {
    Pelicula miPelicula = new Pelicula();

        miPelicula.setNombre("Super-Mario-Bros");
        miPelicula.setFechaLanzamiento(2023);
        miPelicula.setDuracionEnMinutos(130);
        miPelicula.setIncluidoEnElPlan(true);
        miPelicula.muestraFichaTecnica();
        
        FiltroRecomendacion filtroRecomendacion = new FiltroRecomendacion();
        filtroRecomendacion.filtro(miPelicula);

      }
}

clase FiltroRecomendacion

public class FiltroRecomendacion
{
    public void filtro(Clasificable clasificable)
    {
        if(clasificable.getClasificable() >= 3)
        {
            System.out.println("Muy bien evaluado en el momento");
        } else if (clasificable.getClasificable() >= 2 || clasificable.getClasificable() <= 3 )
        {
            System.out.println("Popular en el momento");
        }
        else
        {
            System.out.println("Colocalo en tu vista para verlo despues");
        }
    }
}

clase Pelicula

public class Pelicula extends Titulo implements Clasificable
{
    private String director;

    public String getDirector() {
        return director;
    }

    public void setDirector(String director) {
        this.director = director;
    }

    @Override
    public int getClasificable() {
        return (int) (calculaMedia() / 2);
    }
}
1 respuesta
solución!

¡Hola, Eduardo!

Entiendo que estás teniendo dudas sobre si un objeto creado a partir de una clase puede tener validez como dos o más tipos de datos. En tu caso, estás preguntando si el objeto "miPelicula" puede ser de tipo clase Pelicula y a la vez de tipo interfaz Clasificable. La respuesta es sí, gracias al concepto de polimorfismo en la programación orientada a objetos.

En tu código, la clase Pelicula implementa la interfaz Clasificable, lo que significa que el objeto "miPelicula" puede ser tratado como un objeto de tipo Pelicula y a la vez como un objeto de tipo Clasificable. Esto te permite utilizar el objeto "miPelicula" donde se requiera un objeto de tipo Clasificable, como en el método filtro de la clase FiltroRecomendacion.

El polimorfismo te permite tratar un objeto de una clase como si fuera de otra clase relacionada, lo que brinda flexibilidad y reutilización de código. En este caso, "miPelicula" puede ser tratada como un objeto de tipo Clasificable gracias a la implementación de la interfaz Clasificable en la clase Pelicula.

Espero que esta explicación te ayude a comprender cómo un objeto puede tener validez como dos o más tipos de datos en Java. Si tienes más preguntas, no dudes en preguntar. ¡Sigue practicando y explorando el mundo de la programación orientada a objetos!

Espero haber ayudado y buenos estudios!

Saludos,

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