Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
Lista de Atributos
1. Crie um programa contendo a classe Pessoa.
a. Cada pessoa deve ter os atributos nome (apenas de leitura) e email (leitura e escrita).
b. A classe Pessoa deve ter um método chamado to_s que produz um texto contendo o nome e o e-mail da pessoa.
c. Defina um construtor que recebe o nome e o e-mail.
d. O programa principal deve criar dois objetos pessoa e imprimir o resultado do método to_s de cada um.
2. Crie um programa contendo a classe Cachorro.
a. Os seus atributos são: raça, nome e idade.
b. Crie o método “latir” que gera um texto para o latido. O latido deve ser diferente para cada idade 0-5 anos: “Au”, 6-10 anos: “Au Au” e a partir de 11 anos “Au Au Au”.
c. Crie o método aniversário que aumenta a idade do cachorro.
# encoding: utf-8
=begin
1. Crie um programa contendo a classe Pessoa.
a. Cada pessoa deve ter os atributos nome (apenas de leitura) e email (leitura e escrita).
b. A classe Pessoa deve ter um método chamado to_s que produz um texto contendo o nome e o e-mail da pessoa.
c. Defina um construtor que recebe o nome e o e-mail.
d. O programa principal deve criar dois objetos pessoa e imprimir o resultado do método to_s de cada um.
=end
class Pessoa
attr :nome
attr_accessor :email
def initialize(nome, email)
@nome = nome
@email = email
end
def to_s
"#{nome} (#{email})"
end
end
a = Pessoa.new("Joao","j@ao.com.br")
b = Pessoa.new("Maria","m@ria.com.br")
puts a # == a.to_s
puts b # == b.to_s
# encoding: utf-8
=begin
2. Crie um programa contendo a classe Cachorro.
a. Os seus atributos são: raça, nome e idade.
b. Crie o método “latir” que gera um texto para o latido. O latido deve ser diferente para cada idade 0-5 anos: “Au”, 6-10 anos: “Au Au” e a partir de 11 anos “Au Au Au”.
c. Crie o método aniversário que aumenta a idade do cachorro.
=end
class Cachorro
attr :nome, :raça, :idade
def latir
if idade <= 5 then
"Au"
elsif idade <= 10 then
"Au Au"
else
"Au Au Au"
end
end
def aniversario
@idade = @idade + 1
end
def initialize(raça, nome)
@idade = 0
@raça = raça
@nome = nome
end
end
a = Cachorro.new("Vira-Lata", "Toto")
puts a.nome
puts a.idade
a.aniversario
puts a.idade
puts a.latir
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment