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