Solucionado (ver solução)
Solucionado
(ver solução)
6
respostas

Dúvida no Ex. 9 da Aula 3 - Diferencie tipo de uma referência e tipo de um objeto

A Classe Carro não deve implementar todos os metodos da interface para que o código compile?

6 respostas

Bom dia Denis,

Se a classe carro implementou a interface, sim.

Exe: class Carro implements <Nome_Da_Interface>{} sem o sinal de <>

quando se implementa uma interface a implementação dos métodos dessa interface se torna obrigatório.

solução!

Oi Denis,

Não, pois Carro é uma classe abstrata, a implementação não é necessária, lembre-se que todo método de uma interface é abstrato, então em uma classe abstrata a implementação é opcional, porém toda classe que extender de Carro mesmo sem implementar a interface, vai precisar sobreescrever os métodos que ainda não foram implementados(opcionalmente) na classe Carro.

É isso mesmo q o Douglas falou.

Pensei que a classe carro fosse concreta, se fosse, estaria valido o que eu falei.

Att,

só para complementar, essa dúvida surgiu porque programa em C# há anos e no C#, isso não é possivel, ou seja, mesmo a classe sendo abstrata é preciso ter o método da interface na classe. Porém, caso não queira implementar código nela pode-se declarar este método como abstrato também.

Denis, entendi, no java de uma interface ou de uma classe abstrata para outra classe abstrata acredito que fica implicito por ser a mesma declaração(public abstract), apenas na proxima classe concreta que será obrigatório a implementação.

CarroConcreto herda de Carro, logo o método que está em Carro será implementado por ele, não explicitamente.