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

Classe abstrata public quando tem propriedade do tipo Cliente da erro

Por que da erro na propriedade do tipo Cliente quando marca a classe abstrata é publica?

namespace TreinamentoCSharp
{
    public abstract class Conta
    {
        //propriedades
        **public Cliente Titular { get; set; }**
        public int Numero{get;set;}
        public int Agencia{get;set;}
        public Double Saldo { get; protected set; }

        //métodos
        public abstract void Saca(Double valor);


        public void Deposita(Double valor) 
        {
            if (valor >= 0)
            {
                this.Saldo += valor;
            }
        }

        public void Transferencia(Double valor, Conta destino)
        {
            this.Saca(valor);
            destino.Deposita(valor);
        }

    }
}
4 respostas

Testei o código postado e não deu erro aqui... onde exatamente dá erro?

Se a classe abstrata Conta estiver como publica, no momento em que crio um método que passe como parâmetro um objeto do tipo Conta da erro na propriedade do tipo Cliente Titula da classe Conta abstrata, o erro no Visual Studio é inconsistente acesso a propriedade tipo Cliente

  public void AdicionaConta(Conta conta)
        {
            this.Contas[this.quantidadeDeContas] = conta;
            this.quantidadeDeContas++;
            this.comboBoxContas.Items.Add(conta.Titular.nome);

}


namespace TreinamentoCSharp
{
    public abstract class Conta
    {
        //propriedades
        **public Cliente Titular { get; set; }**
        public int Numero{get;set;}
        public int Agencia{get;set;}
        public Double Saldo { get; protected set; }

        //métodos
        public abstract void Saca(Double valor);


        public void Deposita(Double valor) 
        {
            if (valor >= 0)
            {
                this.Saldo += valor;
            }
        }

        public void Transferencia(Double valor, Conta destino)
        {
            this.Saca(valor);
            destino.Deposita(valor);
        }

    }
}

Pelo que descreveu, o problema pode estar na visibilidade da classe Cliente.

solução!

Oi Rogério

Esse problema é explicado na resposta desse exercício: http://www.alura.com.br/course/FN-14/section/1/exercise/8