Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class Televisor
- attr_reader :modelo, :tamano
- def initialize(params)
- @modelo = "Televisor #{params[:modelo]}"
- @tamano = "#{params[:tamano]} pulgadas"
- @encendido = false
- @canal = 2
- @volumen = 0
- end
- def encender_apagar
- if @encendido
- @encendido = false
- puts 'Televisor APAGADO'
- else
- @encendido = true
- puts "Televisor ENCENDIDO"
- end
- end
- def encendido?
- if @encendido
- true
- else
- puts "ZZzzZzzz..."
- false
- end
- end
- def cambiar_canal(canal)
- if encendido?
- @canal = canal
- puts "Sintonizando el canal #{@canal}" if encendido?
- end
- end
- def cambiar_volumen(action)
- case action
- when 'up'
- @volumen += 1 unless (@volumen + 1) > 100
- puts "Volumen _#{@volumen}_"
- when 'down'
- @volumen -= 1 unless (@volumen - 1) < 0
- puts "Volumen _#{@volumen}_"
- end
- end
- end
- class TelevisorFuturo < Televisor
- def initialize(params)
- super
- @universo = 0
- end
- def make_me_a_sandwich
- if encendido?
- puts "Loading ..."
- sleep(1.5)
- puts "Tu sandwich esta listo!"
- end
- end
- def cambiar_canal(*args)
- if encendido?
- @canal = args[0] unless args[0].nil?
- @universo = args[1] unless args[1].nil?
- puts "Sintonizando: canal #{@canal} - universo #{@universo}" if encendido?
- end
- end
- end
- tv = Televisor.new(modelo: 'Sony', tamano: '32')
- puts tv.modelo
- puts tv.tamano
- tv.encender_apagar
- 8.times { tv.cambiar_volumen('up') }
- 10.times { tv.cambiar_volumen('down') }
- tv.cambiar_canal(77)
- tv_futuro = TelevisorFuturo.new(modelo: 'PlaXi', tamano: 50)
- puts tv_futuro.modelo
- puts tv_futuro.tamano
- tv_futuro.make_me_a_sandwich
- tv_futuro.encender_apagar
- tv_futuro.make_me_a_sandwich
- tv_futuro.cambiar_canal(1003, 7)
- tv_futuro.cambiar_canal(500)
- tv_futuro.encender_apagar
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement