[RESOLVIDO]Dúvida Herança com Interface

4 respostas
B

Pessoa, bom dia.
Tenho uma Interface MecanicaDoJogo e preciso de duas implementações para ela.
Nas duas implementações eu usarei os mesmos atributos, mudando apenas as implementações dos métodos.
Como terei os mesmos atributos pensei em criar uma classe abstrata chamada Mecanica e herdar ela nas duas implementações de MecanicaDoJogo. Ficaria assim:

public Interface MecanicaDoJogo {
      public String metodo();
}

public abstract class Mecanica {
    protected String atributo1;
    protected String atributo2;

   Mecanica() { 
           //construtor
      } 
}

 public class MecanicaDoJogoA extends Mecanica implements MecanicaDoJogo{
    //fazer
}

public class MecanicaDoJogoB extends Mecanica implements MecanicaDoJogo{
  //fazer
}

Minha dúvida é em relação à classe abstrata. Ela deveria já implementar a interface, ou não? Do jeito que estou pensando em fazer está correto?

4 Respostas

staroski

Sim.

B

Obrigado staroski. Neste caso, nas duas classes que herdam de Mecanica eu retiro o implements então?

staroski

Se quiser deixar, pode, mas é redundante pois elas estendem uma classe que já implementa a interface. :wink:

B

Muito Obrigado!

Criado 28 de junho de 2019
Ultima resposta 28 de jun. de 2019
Respostas 4
Participantes 2