O que é uma variável de instância?
Uma variável de instância é uma peça de dados na programação orientada a objetos que possui seu próprio valor exclusivo para cada objeto em que reside. As variáveis de instância também podem ser chamadas de membros da instância, campos não estáticos e membros de dados. Eles são uma parte importante da maioria dos objetos, mantendo dados específicos que o objeto usa para o cálculo. Cada variável está associada ao objeto que o encapsula. O nome completo da variável "blá" associado ao objeto A é "A.Blah", enquanto o nome completo da variável "blá" associado ao objeto B é "B.Blah". Cada um se essas variáveis puderem ter seu próprio valor. Se os objetos A e B são do mesmo tipo, e outro objeto desse tipo, C, for criado, e o objeto C também terá uma variável de instância "blá", que pode tê -loS O próprio valor exclusivo.
As variáveis de instância são frequentemente confundidas com variáveis estáticas, mas as duas são significativamente diferentes. Em contraste com as variáveis de instância, das quais todo objeto de um tipo específico possui suas próprias variáveis estáticas têm apenas um valor, e esse valor é o mesmo para cada objeto do tipo apropriado. As variáveis estáticas são frequentemente chamadas de variáveis de classe, que não são as mesmas que as variáveis de instância.
Dependendo das propriedades de visibilidade atribuídas a eles, as variáveis de instância podem ser visíveis apenas dentro de um objeto específico, a um objeto e suas subclasses, ou para o objeto em que reside, bem como qualquer outro objetivo. Esse tipo final de visibilidade, chamado de visibilidade público, é frequentemente considerado uma prática ruim, por exemplo, variáveis, porque é fácil violar os princípios de encapsulamento na programação orientada a objetos. Apesar desse tabu, há momentos em que o público instaAs variáveis NCE são úteis. Por exemplo, muitas classes padrão em Java têm variáveis de instância pública, que às vezes permitem fácil modificar as propriedades.
A visibilidade de uma variável de instância também entra em jogo com herança. Se uma classe herdar de outra, isso não fornece imediatamente o acesso às duas classes às variáveis de instância um do outro. As variáveis de instância privada na superclasse e na subclasse permanecem restritas apenas a essas classes; portanto, uma variável privada na subclasse não pode ser vista pela superclasse e vice -versa. As únicas variáveis de instância que a superclasse e a subclasse podem ver são variáveis protegidas na superclasse.