TrabalhosGratuitos.com - Trabalhos, Monografias, Artigos, Exames, Resumos de livros, Dissertações
Pesquisar

Ruby é uma linguagem puramente orientada a objetos

Artigo: Ruby é uma linguagem puramente orientada a objetos. Pesquise 861.000+ trabalhos acadêmicos

Por:   •  16/9/2014  •  Artigo  •  799 Palavras (4 Páginas)  •  427 Visualizações

Página 1 de 4

4.1 Mundo orientado a objetos

Ruby é uma linguagem puramente orientada a objetos, bastante inžuenciada pelo Smalltalk. Desta forma,

tudo em Ruby é um objeto, até mesmo os tipos básicos que vimos até agora.

Uma maneira simples de visualizar isso é através da chamada de um método em qualquer um dos objetos:

"strings são objetos".upcase()

:um_simbolo.object_id()

Até os números inteiros são objetos, da classe Fixnum:

10.class()

Material do Treinamento Desenvolvimento Ágil para Web 2.0 com Ruby on Rails

4.2 Métodos comuns

Uma das funcionalidades comuns a diversas linguagens orientadas a objeto está na capacidade de, dado um

objeto, descobrir de que tipo ele é. No ruby, existe um método chamado class(), que retorna o tipo do

objeto, enquanto object_id(), retorna o número da referência, ou identicador único do objeto dentro da

memória heap.

Outro método comum a essas linguagens, é aquele que “transforma” um objeto em uma String, geralmente

usado para log. O Ruby também disponibiliza esse método, através da chamada ao to_s().

Adicionalmente aos tipos básicos, podemos criar nossos próprios objetos, que já vem com esses métodos

que todo objeto possui (class, object_id).

Para criar um objeto em Ruby, basta invocar o método new na classe que desejamos instanciar. O exemplo a

seguir mostra como instanciar um objeto:

# criando um objeto

objeto = Object.new()

4.3 Definição de métodos

def é uma palavra chave do Ruby para a denição (criação) de métodos, que podem, claro, receber parâmetros:

def pessoa.vai(lugar)

puts "indo para " + lugar

end

Mas, e o retorno de um método? Como funciona? Para diminuir o excesso de código que as linguagens

costumam introduzir (chamado de ruído sintático), o Ruby optou por retornar o resultado da execução da

última instrução executada no método. O exemplo a seguir mostra um método que devolve uma String:

def pessoa.vai(lugar)

"indo para " + lugar

end

Para visualizar esse retorno funcionando, podemos acessar o método e imprimir o retorno do mesmo:

puts pessoa.vai("casa")

Podemos ainda refatorar o nosso método para usar interpolação:

Capítulo 4 - Mais Ruby: classes, objetos e métodos - Métodos comuns - Página 26

Material do Treinamento Desenvolvimento Ágil para Web 2.0 com Ruby on Rails

def pessoa.vai(lugar)

"indo para #{lugar}"

end

Para receber vários argumentos em um método, basta separá-los por vírgula:

def pessoa.troca(roupa, lugar)

"trocando de #{roupa} no #{lugar}"

end

A invocação desses métodos é feita da maneira tradicional:

pessoa.troca('camiseta', 'banheiro')

Alguns podem até ter um valor padrão, fazendo com que sejam opcionais:

def pessoa.troca(roupa, lugar='banheiro')

"trocando de #{roupa} no #{lugar}"

end

# invocação sem o parametro:

pessoa.troca("camiseta")

# invocação com o parametro:

pessoa.troca("camiseta", "sala")

4.4 Exercícios - Métodos

1) Métodos são uma das formas com que os objetos se comunicam. Vamos utilizar os conceitos vistos no

capítulo anterior porém indo um pouco mais além na orientação a objetos agora.

• Crie mais um arquivo no seu diretório ruby chamado restaurante_avancado.

Ao nal de cada exercício você pode rodar o arquivo no terminal com o comando ruby restaurante_avancado.rb.

2) Vamos simular um método que atribui uma nota a um restaurante.

# declaração do método

def qualifica(nota)

puts "A nota do restaurante foi #{nota}"

end

# chamada do método

qualifica(10)

Capítulo 4 - Mais Ruby: classes, objetos e métodos - Exercícios - Métodos - Página 27

Material

...

Baixar como (para membros premium)  txt (5.9 Kb)  
Continuar por mais 3 páginas »
Disponível apenas no TrabalhosGratuitos.com