Oi, Gabrielly! Como vai?
Agradeço por compartilhar seu código com a comunidade Alura.
Seu código mostra uma ótima organização com herança, construtores e interface. Gostei de como usou super() para reaproveitar a lógica do construtor da classe Titulo nas subclasses.
Uma dica interessante é sobrescrever o método toString(), que existe em todas as classes por padrão (pois vem da classe Object). Esse método define o que será exibido quando o objeto for impresso com System.out.println(objeto).
@Override
public String toString() {
return "Título: " + nome + ", Ano: " + anoDeLancamento;
}
Assim, ao invés de chamar exibeFichaTecnica(), você pode apenas imprimir o objeto e já terá uma saída amigável. Exemplo: System.out.println(filme);.
Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!