Created
March 7, 2013 01:24
-
-
Save lrlucena/5104797 to your computer and use it in GitHub Desktop.
Lista de Atributos
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# 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","[email protected]") | |
b = Pessoa.new("Maria","[email protected]") | |
puts a # == a.to_s | |
puts b # == b.to_s |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# 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