Tenho uma classe com 10 métodos, quero herdar o comportamento deles.
Na classe que vai herdar os métodos, preciso colocar todos eles?
Por Exemplo:
“Classe Mãe” = 10 métodos
“Classe herdeira” = 2 iguais, mas com funcionalidades diferentes.
Declaro somente os dois, mas com funcionalidades diferentes?
Ou preciso incluir todos e alterar os dois?
Reescreva somente os que são diferentes.
[]'s
Haverá a relação e-um ?
As duas classes poderiam herdar de uma classe abstrata que contem a parte do codigo “comum”, então bastaria implementar o que deve ser diferente, pois acho que vc esta indo por um lado onde a Herança pode te trazer problemas ao invés de soluções.
Muito obrigado pela ajuda, outra duvida é em relação ao @Override
Precisa ser declarado? Tem um método que insiste que não está sendo utilizado em nenhum lugar.
[quote=juliospark]Muito obrigado pela ajuda, outra duvida é em relação ao @Override
Precisa ser declarado? Tem um método que insiste que não está sendo utilizado em nenhum lugar.[/quote]
Ele é opcional. Serve para o seguinte caso:
[code]public class X {
public void metodo() {}
}
public class Y extends X {
public void metodo() {}
}[/code]
Suponha que na classe X, o método seja renomeado para “outroMetodo”, e a classe Y não seja alterada. O resultado é que o programa vai compilar, mas a classe Y estará errada.
Colocando @Override no método da classe Y, o compilador só vai aceitá-lo se ele estiver sobrescrevendo algo. Desta forma, se o método da classe X for renomeado, Y não compila, o que evita bastante dor-de-cabeça no desenvolvimento do projeto. (é melhor um erro de compilação logo de cara ao invés de algum bug maluco e obscuro enquanto o programa estiver rodando).
O @Override também ajuda a previnir erros de digitação no nome do método.