Ruby – Escrevendo um Exemplo com Ruby (Adaptado de um codigo Java)

Comecei a estudar essa linguagem script (100% OO), pois estava com curiosidade sobre esses tipos de linguagem.
Me surpreendeu muito a facilidade na programação. pra vc´s terem uma ideia peguei nos Sliders do Mestre Jocelio Passos da FACAPE( http://www.facape.br/jocelio/p3/material_em_pdf/OOClasseConta.pdf) um exemplo de uma aplicação feita em Java e a refiz em Ruby. (Esqueci de pedir autorização a Jocelio)
Tire suas proprias conclusões… (Esse codigo ficou bem menor que o de Java )

class Conta
attr_accessor :numero,:nome,:saldo

def initialize(numero,nome,saldo=0)
@numero = numero
@nome = nome
@saldo = saldo
end

def to_s
puts “Conta:#{numero} Nome:#{nome} Saldo:#{saldo}”
end

def debitar(x)
@saldo -=x
end

def creditar(x)
@saldo +=x
end

def transferir(conta,valor)
debitar(valor)
conta.creditar(valor)
end

end


class ContaCorrente < Conta
Cpmf = 0.0038

def initialize(numero,nome,saldo=0)
super
end

def debitar(valor)
super(valor*(1+Cpmf))
end

def to_s
puts “Conta Corrente”
super
end
end


class ContaPoupanca < Conta
def initialize(numero,nome,saldo=0)
super
end

def renderjuros(juros)
creditar(saldo*(juros.to_f/100))
end

def to_s
puts “Conta Poupanca”
super
end

end


cc = ContaCorrente::new(1,”Joao”)
cp = ContaPoupanca::new(2,”Maria”)

puts “Movimento bancario”
puts “Creditos Iniciais 1000 e 600”

cc.creditar(1000)
cp.creditar(600)
puts cc
puts cp

puts “Debitando 100 e 50”
cc.debitar(100)
cp.debitar(50)
puts cc
puts cp

puts “Transferir 100 da conta corrente para poupanca”
cc.transferir(cp,100)
puts cc
puts cp

puts “Rendendo juros da poupanca”
cp.renderjuros(10)
puts cp

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s