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

Estou com dúvida no curso de C# e Orientação a Objetos, no exercício 6 do capítulo Interfaces.

Nas classes SeguroDeVida e ContaPoupanca está dando o seguinte erro...

Error    1    'Conta.ContaPoupanca' does not implement interface member 'Conta.ITributavel.PagarImposto()'    C:\Users\Elias\documents\visual studio 2010\Projects\Conta\Conta\ContaPoupanca.cs    8    11    CaixaEletronico
Error    2    'Conta.ContaPoupanca' does not implement interface member 'Conta.ITributavel.CalculaTributo()'    C:\Users\Elias\documents\visual studio 2010\Projects\Conta\Conta\ContaPoupanca.cs    8    11    CaixaEletronico
Error    3    'Conta.SeguroDeVida' does not implement interface member 'Conta.ITributavel.PagarImposto()'    C:\Users\Elias\documents\visual studio 2010\Projects\Conta\Conta\SeguroDeVida.cs    8    18    CaixaEletronico
Error    4    'Conta.SeguroDeVida' does not implement interface member 'Conta.ITributavel.CalculaTributo()'    C:\Users\Elias\documents\visual studio 2010\Projects\Conta\Conta\SeguroDeVida.cs    8    18    CaixaEletronico

A classe SeguroDeVida está assim...

    public class SeguroDeVida: ITributavel
    {
        double CalculaTributos()
        {
            return 42.0;
        }
    }

E a ContaPoupanca assim...

    class ContaPoupanca : Conta, ITributavel
    {
        public override void Saca(double valor)
        {
            this.Saldo -= valor + 0.1 ;
        }

        public double CalculaTributos()
        {
            return this.Saldo * 0.2;
        }
    }
3 respostas
solução!

Elias,

Essas duas classes que você criou estão utilizando a interface ITributavel. Esta interface prevê que você terá que ter os métodos PagarImposto e CalculaTributo declarados. Provavelmente em algum momento você esqueceu de declarar a PagarImposto e a CalculaTributo está escrito com "S".

Olá Elias

Você conseguiu resolver o problema?

Sim, tudo ok. Obrigado.