1
resposta

Não consigo utilizar o get e set

Ao criar um get saldo eu não consigo acessar ele na main. Até aparece quando entro com a; contadaAmanda. Mas nao deixa eu preencher nenhum valor.

Segue meu código conta main.dart.

import '../lib/contaCorrente.dart';
import '../lib/cliente.dart';


void main() {
ContaCorrente contadaAmanda = ContaCorrente(); 
//ContaCorrente contadoTiago = ContaCorrente();

contadaAmanda.saldo(); 

//contadaAmanda.transferencia(200, contadoTiago);

print(contadaAmanda.saldo);
print(contadaAmanda);


}



Segue meu código conta corrente.dart.

import 'dart:svg';

import 'cliente.dart';

class ContaCorrente {
  Cliente titular = (Cliente());
  int _agencia = 0;
  int conta = 0;
  double _saldo = 20.0;
  double chequeEspecial = -100;

  double get saldo {
    return this._saldo;
  }

  set saldo(double novoSaldo) {
    if (novoSaldo >= chequeEspecial) {
      _saldo = novoSaldo;
    } else {
      print(
          "Erro! Tentei modificar o valor de saldo para um valor menor que o cheque especial");
    }
  }

  bool verificaSaldo(double valor) {
    if (this.saldo - valor < chequeEspecial) {
      print("Sem saldo suficiente");
      return false;
    } else {
      print("Movimentando $valor reais");
      return true;
    }
  }

  bool transferencia(double valorTransferencia, ContaCorrente contaDestino) {
    if (!verificaSaldo(valorTransferencia)) {
      return false;
    } else {
      this.saldo -= valorTransferencia;
      contaDestino.deposito(valorTransferencia);
      return true;
    }
  }

  bool saque(double valordoSaque) {
    if (!verificaSaldo(valordoSaque)) {
      return false;
    } else {
      print("Sacando $valordoSaque reais");
      this.saldo -= valordoSaque;
      return true;
    }
  }

  double deposito(double valordoDeposito) {
    this.saldo += valordoDeposito;
    return this.saldo;
  }
}
1 resposta

Tanto para acessar quando para atribuir valores a sintaxe é semelhante. Exemplo: getter, contadaAmanda.saldo; e setter, contadaAmanda.saldo = 20;. Nas versões atuais do Dart não é mais necessário os parênteses.