Olá, Kaio!
Entendo sua dúvida e você está no caminho certo. Realmente, quando uma classe herda de outra, ela não tem acesso direto aos atributos privados da classe mãe, mas podemos utilizar os métodos 'get' e 'set' para acessar e modificar esses valores, respectivamente.
No caso do seu problema, você está tentando sobrescrever o método "exibir ficha técnica" na classe Serie, que herda da classe Titulo. Para isso, você precisa criar na classe Serie um método com a mesma assinatura do método que deseja sobrescrever na classe Titulo.
Por exemplo, se o método na classe Titulo é:
public void exibirFichaTecnica() {
// código do método
}
Você deve criar na classe Serie um método com a mesma assinatura:
@Override
public void exibirFichaTecnica() {
// código do método
}
Note que utilizamos a anotação @Override
para indicar que estamos sobrescrevendo um método da classe mãe.
Agora, dentro do método sobrescrito, você pode fazer o cálculo da duração da série da maneira que achar mais adequada, e exibir essa informação.
Lembre-se que para acessar os atributos privados da classe mãe, você deve utilizar os métodos 'get' e 'set'. Por exemplo, se na classe Titulo você tem um atributo privado duracaoEmMinutos
, você deve ter um método 'get' correspondente:
public int getDuracaoEmMinutos() {
return this.duracaoEmMinutos;
}
E na classe Serie, você pode acessar esse valor através desse método 'get':
@Override
public void exibirFichaTecnica() {
int duracao = getDuracaoEmMinutos();
// código do método
}
Espero ter ajudado e bons estudos!