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

Problemas com a classe Conta em c#

Estou fazendo C# e tópicos avançados, e estou tentando igualar o sistema para continuar a acompanhar no sistema de caixa eletronico... ai na classe Conta, ocorre o seguinte erro: public abstract void Saca(double valor) SacaError 1 'Olamundo.Conta.Saca(double)' cannot declare a body because it is marked abstract C:\Users\Anselmo\Documents\Visual Studio 2010\Projects\Olamundo-2014-02-24\Olamundo\Conta.cs 17 30 Olamundo

Se eu tiro o abstract ai gera erros nas classes filhas cc,cp e ci...

Segue o código completo abaixo da classe Conta:

using System; using System.Collections.Generic; using System.Linq; using System.Text;

namespace Olamundo { abstract class Conta { public int Numero { get; set; } public Cliente Titular { get; set; } public double Saldo { get; set; } public int Tipo { get; set; }

public abstract void Saca(double valor) { if (valor < 0.0) { throw new Exception(); } if (valor > this.Saldo) { throw new Exception("Valor do saque maior que o saldo"); } else { this.saldo -= valor; } }

public void Deposita(double valor) { this.Saldo += valor; }

public void Transfere(double valor, Conta destino) { this.Saca(valor); destino.Deposita(valor); }

// outros atributos da Conta

public Cliente cliente;

// comportamentos da conta }

}

4 respostas
solução!

Anselmo, método abstrato não pode ser implementado, não tem corpo, você apenas coloca apenas a assinatura e um ; no final, por exemplo:

public abstract void Saca(double valor);

A implementação do método fica a cargo da classe que irá herdá-la. Espero ter ajudado!

Classe Abstrata não pode usar o operador New, isto é, classe abstrata é utilizada para ser herdada por outra classe concreta, e esta, é quem devera implementar os métodos abstratos da classe abstrata.

Olá Anselmo

A sua dúvida foi resolvida?

Olá, sim, muito obrigado