Skip to content

Instantly share code, notes, and snippets.

@guilhermesilveira
Forked from sergiolopes/Contas.scala
Created December 19, 2010 11:21
Show Gist options
  • Save guilhermesilveira/747272 to your computer and use it in GitHub Desktop.
Save guilhermesilveira/747272 to your computer and use it in GitHub Desktop.
Conta conta = new Conta(900);
Cliente cliente = new Cliente();
// DSL bacana
cliente.debita(500).da(conta);
println(conta saldo);
// classes
class Cliente {
Debito debita(int valor) { return new Debito(valor); }
class Debito(int valor) {
void da (Conta conta) {
conta.saldo -= valor;
}
}
}
class Conta {
// ...
}
@brunoadacosta
Copy link

Somente arrumando o port pra java.

Conta conta = new Conta(900);
Cliente cliente = new Cliente();

// DSL bacana
cliente.debita(500).da(conta);
println(conta saldo);

// classes
class Cliente {
Debito debita(int valor) { return new Debito(valor); }

class Debito() {
            private int valor;
            Debito(int valor) {
                      this.valor = valor;
            }
    void da (Conta conta)  {
        conta.saldo -= valor; 
    }
}

}
class Conta {
// ...
}

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment