Prezados,
Ainda não consigo distinguir a diferença entre Extends e Implements dentro do código. Poderias me informar um exemplo de código com extends e implements e ambos juntos?
Atte.
Marcel Machado
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Prezados,
Ainda não consigo distinguir a diferença entre Extends e Implements dentro do código. Poderias me informar um exemplo de código com extends e implements e ambos juntos?
Atte.
Marcel Machado
Oi Marcel, tudo bom?
As palavras reservadas são usadas em momentos diferentes. Quando queremos herdar, usamos extends, quando queremos implementar uma interface, usamos o implements.
Um exemplo de código seria:
public interface Descontavel {
public double getDesconto();
}
public abstract class Conta {
private double saldo;
private String titular;
public double getSaldo() {
return this.saldo;
}
public void deposita(double valor) {
this.saldo += valor;
}
public void saca(double valor) {
this.saldo -= valor;
}
public String getTitular() {
return this.titular;
}
public void setTitular(String titular) {
this.titular = titular;
}
}
public class ContaCorrete extends Conta implements Descontavel {
@Override
public double getDesconto() {
return this.getSaldo() * 0.01;
}
}
Aqui, ContaCorrente herda (extends) de Conta e implementa (implements) a interface Descontave, que obriga um método getDesconto =)
Exemplo, ele herdou os métodos da Classe Conta ou os atributos? Ele implementou somente a variável getDesconto?
Usamos o implements somente em interfaces?
Atte.
Marcel Machado
Exemplo, ele herdou os métodos da Classe Conta ou os atributos? Ele implementou somente a variável getDesconto?
Na classe ContaCorrente implementamos o método getDesconto, declarado na interface Descontavel.
Usamos o implements somente em interfaces?
Exatamente
Abraço