Objetos e Métodos

Um objeto é uma instanciação de uma classe, cada instância tem seus próprios valores de atributos, mas compartilha o nome e os comportamentos dos atributos com a outras instâncias da classe.

Em Ruby, a instanciação de uma classe é feita da seguinte forma.

# classe.rb
aluno_do_pt = Pessoa.new("Gustavo", "SQN 209")

Métodos são 'funções' que podem ser usadas em objetos de classe. Como, por exemplo:

$ irb
irb(main):001:0> puts "aluno_do_pt".capitalize
=> "Aluno_do_pt"

capitalize é um método que pode ser usado em um objeto da classe String.

irb(main):002:0> "aluno_do_pt".class
=> String

Para saber se um método pode ser usado em um objeto de uma determinada classe, podemos usar o método respond_to?

irb(main):003:0> "aluno_do_pt".respond_to? :capitalize
=> true