↓ Ir para o conteúdo principal

← todas as notas

📎 Webclip

Variáveis de classe e de instância de classe em Ruby

Ruby trata classes como objetos, então além de variáveis de instância de objetos também existem variáveis de classe e variáveis de instância de classe. O texto mostra que @@dias_de_ferias pertence à classe e @salario pertence a cada instância de Funcionario.

Fichamento
#

  • Variáveis de classe se referem à própria classe; variáveis de instância se referem a cada instância de uma classe.
  • No exemplo, @@dias_de_ferias tem um único valor compartilhado, enquanto cada objeto Funcionario mantém seu próprio @salario.
  • Como classes também são objetos em Ruby, elas podem ter variáveis de instância acessadas com @ dentro do escopo da classe ou de um método de classe.
  • Em herança, variáveis de classe são compartilhadas entre Funcionario e Gerente.
  • Ao alterar @@dias_de_ferias na subclasse, o valor também muda na superclasse, porque é a mesma instância.
  • Já @bonus fica separado por classe, com um valor em Funcionario e outro em Gerente.