Informatica
Agora que conseguimos criar a primeira conta da aplicação, vamos tentar fazer algumas operações. A primeira operação que queremos implementar é a operação de tirar dinheiro da conta. Para isso, como vimos no capítulo anterior, podemos utilizar o operador -= do C#:
Conta c = new Conta();
c.numero = 1;
c.titular = "victor";
c.saldo = 100;
// a conta termina com saldo de 50.0
c.saldo -= 50.0;
Mas o que aconteceria se tentássemos tirar mais 100.0 dessa conta?
c.saldo -= 100.0;
Ao executarmos essa segunda operação, a conta terminará com saldo de -50.0, porém nesse sistema as contas não podem ficar com saldo negativo! Portanto, antes de tirarmos dinheiro da conta, precisamos verificar se ela possui saldo suficiente.
if(c.saldo >= 100.0)
{
c.saldo -= 100.0;
}
Repare que teremos que copiar e colar essa verificação em todos os pontos da aplicação em que desejamos fazer um saque, mas o que aconteceria se fosse necessário cobrar uma taxa em todos os saques? Teríamos que modificar todos os pontos em que o código foi copiado. Seria mais interessante isolar esse código dentro de um comportamento da Conta.
Além de atributos, os objetos também podem possuir métodos. Os métodos são blocos de código que isolam lógicas de negócio do objeto. Então podemos isolar a lógica do saque dentro de um método Saca da classe Conta.
Para declarar um método chamado Saca na classe Conta, utilizamos a seguinte sintaxe:
class Conta
{
// declaração dos atributos public void Saca() { // Implementação do método }
}
Dentro desse método Saca, colocaremos o código da lógica de saque.
public void Saca()
{
if(c.saldo >= 100.0) { c.saldo -= 100.0; }
}
Porém, nesse código temos dois problemas: não podemos utilizar a variável c, pois ela foi declarada no formulário e não dentro do método e o valor do saque está constante.
Nesse método Saca,