

Seu próximo nível começa aqui
Seu desenvolvimento não pode ter limites. Garanta sua Assinatura Ilimitada e libere uma preparação completa com os melhores professores do Brasil.
Classes em linguagens com suporte a orientação a objetos como C++, Java, Python etc. têm, entre outros usos, o de prover acesso controlado a informações, encapsulando as mesmas. Suponha que um programador deseja criar uma classe foo que armazena localmente um valor x_foo, que não é acessível de forma alguma por código externo a foo. Suponha ainda que foo possui um método público mx_foo(), que pode alterar o valor de x_foo a cada vez que é chamado, e que a cada chamada de mx_foo() o valor inicial de x_foo visto por este método é aquele deixado pela chamada de mx_foo() imediatamente anterior à chamada corrente em questão. Isso:
Não é possível de ser implementado em linguagens com suporte a orientação a objetos.
É passível de implementação se a linguagem de programação permitir declaração de variáveis locais em métodos da classe foo.
É passível de implementação se a linguagem de programação permitir a declaração de variáveis locais estáticas na classe foo.
É passível de implementação se a linguagem de programação permitir declaração de variáveis externas na classe foo.
É passível de implementação em uma linguagem de programação que permita declaração de variáveis locais automáticas em métodos da classe foo.