-
Notifications
You must be signed in to change notification settings - Fork 0
/
16-super.rb
54 lines (42 loc) · 894 Bytes
/
16-super.rb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
class Franquia
def descricao
"Franquia"
end
end
class Franqueado < Franquia
def descricao
puts super # invocando método descrição da classe pai/Franquia
"Franqueado"
end
end
f = Franquia.new
puts f.descricao
puts "---------------"
ff = Franqueado.new
puts ff.descricao
puts "---------------"
##############################
class Conta
attr_reader :numero, :saldo
def initialize(numero, saldo = 0)
@numero = numero
@saldo = saldo
end
end
class ContaEspecial < Conta
attr_reader :limite_especial
def initialize(numero, saldo, limite_especial)
super(numero, saldo) #initialize da classe pai
@limite_especial = limite_especial
end
end
puts "Conta..."
c = Conta.new("001", 100.00)
puts c.numero
puts c.saldo
puts "---------------"
puts "Conta Especial..."
ce = ContaEspecial.new("002", 200.00, 1000.00)
puts ce.numero
puts ce.saldo
puts ce.limite_especial