Ainda não tem acesso? Estude com a gente! Matricule-se
Ainda não tem acesso? Estude com a gente! Matricule-se

Solucionado (ver solução)

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

Meu programa da uma erro dizendo que a classe GerenciadorDeImposto é menos acessivel do que a classe ITributavel, sublinhando o metodo adiciona em azul na classe GerenciadorDeImposto.


interface ITributavel

    {

        double CalculaTributos();

    }

public class GerenciadorDeImposto

    {

        public double Total { get; private set;

 }

        public void Adiciona (ITributavel tributavel)

        {

            this.Total += tributavel.CalculaTributos();

        }

    }

 private void button1_Click(object sender, EventArgs e)

        {

            ContaPoupanca cp = new ContaPoupanca();

            Cliente eu = new Cliente();

            GerenciadorDeImposto gerenciador = new GerenciadorDeImposto();


            cp.cliente = eu;
            cp.cliente.Nome="eu";
            cp.Numero = 21;
            cp.deposita(500);
            cp.CalculaTributo();

            gerenciador.Adiciona(cp);



            MessageBox.Show("o total tributo é " + gerenciador.Total);


        }
5 respostas

Cara, por um acaso, você não adicionou a classe GerenciadoDeImposto na mesma "folha" que está a interface ITributavel?

Nao, pois um é uma classe e o outro interface.. adicionei como itens distintos, "folhas" separadas

Beleza. Foi exatamente por isso que eu perguntei rsrs.

Declara a interface como publica.. Vê se dá certo!

Se eu não me engano você tem que implemetar a interface.

solução

Fico feliz por ter contribuído.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software