FC ConcursosFC Concursos

Questão FC373326

Considere a classe abaixo, criada com Ruby, em um ambiente de programação em condições ideais. class Pessoa def initialize(nome) @nome = nome end def get_nome @nome end end Para in

Linguagens de Programação

FCC · 2018

Considere a classe abaixo, criada com Ruby, em um ambiente de programação em condições ideais.


class Pessoa
  def initialize(nome)
     @nome = nome
 end
   def get_nome
    @nome
 end
end


Para instanciar um objeto dessa classe armazenando no atributo nome o valor Paulo e para exibir o nome contido no atributo, utilizam-se as instruções

  1. p = new Pessoa("Paulo")      whiteln p.get_nome
  2. p = Pessoa.new("Paulo")      println p.get_nome
  3. Pessoa p = Pessoa->new("Paulo")      puts p.get_nome
  4. Pessoa p = new Pessoa("Paulo")      puts p.get_nome
  5. p = Pessoa.new("Paulo")      puts p.get_nome
Mostrar resposta e comentário

Gabarito

Errado

Comentário do professor

A instrução p = Pessoa.new("Paulo") cria uma nova instância da classe Pessoa e atribui a referência à variável p. O método initialize é o construtor: ao chamar Pessoa.new com o argumento "Paulo", o construtor recebe esse valor e atribui-o à variável de instância @nome.

Em seguida, puts p.get_nome chama o método get_nome no objeto referenciado por p. O método get_nome simplesmente retorna o conteúdo de @nome. O comando puts imprime esse valor no console, acrescentando uma quebra de linha.

Resumo prático: a primeira linha instancia o objeto passando o nome; a segunda recupera e exibe o atributo armazenado. Essa é a forma idiomática em Ruby para criar o objeto, acessar um atributo via método de leitura e imprimir o resultado.

Conteúdo do catálogo FC Concursos · Atualizado em

Continue aprendendo