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

Java - Interface

Boa noite, gostaria de saber se a Interface do Java só faz com que quem implementa tenha de reescrever apenas os métodos ?

E se caso a interface tenha atributos, a classe que implementa não recebe estes atributos ?

E mais uma questão, caso seja possível receber os atributos da interface, como faço para chama-la em uma classe que implementa esta interface ?

Por exemplo: Tenho uma Interface Pessoa, com atributos: Nome, Idade e quero criar uma classe Aluno(Com atributo int RA) que implementa pessoa, como ficaria o construtor dessa classe ?

3 respostas

Opa, interface não pode ter atributos. Como vc disse, ela apenas define metodos que as classes serão obrigadas a implementar. No java 8 as interfaces até tem mais poder, mas nada de atributos.

Ah entendi. Mas neste caso eu teria que usar Herança mesmo. É que no curso falam muito sobre programar voltado a interface.

Neste caso, caso eu precise de poucos métodos para duas classes totalmente distintas, como Cliente e Funcionário, seria interessante a criação da interface ou seria mais viável a criação dos métodos nas classes ?

Como num dos exercicios do curso POO, onde fala sobre a interface Tributável que tem apenas 1 método. Isso é viável ?

public interface Tributavel {

double calculaTributos();

}

E é utilizado algumas vezes em outras classes.

solução!

A interface sempre é viável, independente do número de métodos. Tudo depende do que vc precisa.. Nesse caso aí, tem algum ponto do programa que pode receber qualquer coisa que seja Tributavel... E aí ele sempre vai poder invocar o método calculaTributos()