Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Sobre a dúvida anterior

Li a resposta sobre a dúvida anterior, não sei se entendi errado, mas testei aqui sobrescrevendo o método na classe títulos e funcionou perfeitamente. Apareceu o nome dos filmes igualmente utilizando o método sobrescrito somente na classe Filmes e também criei uma lista de séries que também funcionou perfeitamente.

1 resposta
solução!

Olá, Lucas! Parece que você já está se familiarizando com a ideia de sobrescrever métodos em Java, o que é ótimo!

Pelo que entendi, você testou a sobrescrita do método toString() na classe Titulo e percebeu que funcionou tanto para a classe Filme quanto para uma lista de séries que você criou. Isso é exatamente o que esperaríamos, já que a classe Filme é uma subclasse de Titulo. Quando você sobrescreve um método na classe pai (Titulo, neste caso), todas as subclasses (Filme, Serie, etc.) herdarão essa nova implementação do método, a menos que elas sobrescrevam o método novamente.

Vamos tomar como exemplo a seguinte hierarquia de classes:

class Titulo {
    // Outros métodos...

    @Override
    public String toString() {
        return "Titulo: " + this.getNome();
    }
}

class Filme extends Titulo {
    // Outros métodos...
}

class Serie extends Titulo {
    // Outros métodos...
}

Neste caso, tanto a classe Filme quanto a classe Serie herdarão a implementação do método toString() da classe Titulo, a menos que elas sobrescrevam o método novamente. Isso significa que, se você criar uma instância de Filme ou Serie e chamar o método toString(), o resultado será "Titulo: " seguido do nome do filme ou da série.

Espero que isso esclareça sua dúvida! Lembre-se de que a sobrescrita de métodos é um conceito fundamental na programação orientada a objetos e é muito útil para alterar o comportamento de subclasses de maneira controlada. Espero ter ajudado e bons estudos!