📎 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.
