1
resposta

Código byte bank

//using _05_ByteBank; //Informando que está usando as classes inseridas dentro do 05-ByteBank
//Não precisa mais informar que está usando pois agora ele é ujma namespace

namespace _07_ByteBank //Tudo dentro do namespace _05_ByteBank pertence a _05_ByteBank
{
    public class ContaCorrente
    {

        public Cliente Titular
        //public Cliente Titular // Cliente _titular não tem necessidade de ser privado
        {

            get;
            /*{
                return _titular;
            }*/
            set;
            /*{
                _titular = value;  
            }*/

        }

        public static int Total_contas_criadas{ get; private set; } //Static - Compartilhado a todos os objetos dessa classe, é uma característica da própria classe


        private int _numero;
        public int Numero
        {
            get
            {
                System.Console.WriteLine("\n\nNúmero da conta válido! ");
                return _numero;
            }
            set
            {
                if (value <= 0)
                {
                    System.Console.WriteLine("\n\nNúmero da conta inválido! ");
                    return;
                }

                _numero = value;
            }
        }
        // Quando não coloca nada  o valor default que vem já é 0, podemos atribuir valores padrões como o 100, mas quando o usuário mudar na linha de código, ele mudará
        private int _agencia;
        public int Agencia
        {
            get
            {
                System.Console.WriteLine("\n\nNúmero da agência válido! ");
                return _agencia;
            }
            set
            {
                if (value < 0)
                {
                    System.Console.WriteLine("\n\nNúmero da agência inválido! ");
                    return;

                }

                _agencia = value;
            }
        }

        private double _saldo = 100; //Método privado

        //value é utilizado dentro do set

        public double Saldo //Propriedade
        {
            get
            {
                return _saldo;
            }
            set
            {
                if (value < 0)
                {
                    return;
                }

                _saldo = value; //_saldo ... Quando tiver o underline na frente significa que se refere a um método privado

            }

        }

        /* public void SetSaldo(double saldo) //Definir 
         {
             if (saldo < 0)
             {
                 return;
             }


             this.saldo = saldo;


         }

         public double GetSaldo() //Obter
         {//É um método quando abre e fecha parentese

             return saldo;

         }*/


        //Construtor 
        public ContaCorrente(int _numero, int _agencia) //Será obrigado preencher o numero e a agencia
        {
            Agencia = _agencia;
            Numero = _numero;

            Total_contas_criadas++;
        }

        public bool Sacar(double valor)  //Nome de função tem sempre que ter a primeira letra em maiusculo -> Sacar 
        {
            if (this._saldo < valor) //this, apontar o saldo
            {

                return false;  //Console.WriteLine("Seu saldo é insuficiente!");

            }

            else
            {
                this._saldo -= valor; // foi subtraído o valor do saldo
                return true;   //Console.WriteLine("Saque realizado com sucesso!");
            }
        }

        public void Depositar(double valor) // Void, função sem retorno
        {

            this._saldo += valor; //saldo receberá mais um valor (incremento)

        }

        public bool Transferir(double valor, ContaCorrente contaDestino)
        {
            if (this._saldo < valor)
            {
                return false;

            }
            else
            {
                this._saldo -= valor;
                contaDestino.Depositar(valor); //Caso coloque algum valor após o returno dará inválido, pois já não faz parte do valor retornado
                return true;
            }
        }

    }
}

1 resposta

Olá Gabriel, tudo certo?

Está com algum problema no seu código?

No aguardo!