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

Extends e Implements

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

3 respostas

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

solução!

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