Instância (classe)
| Orientação a objetos |
| Objeto |
Classe
|
| Abstração |
| Métodos |
| Atributo |
| Encapsulamento |
| Herança |
| Polimorfismo |
| Outras referências |
| Padrões de projeto |
| UML |
| Engenharia OO |
Em programação orientada a objetos, chama-se instância de uma classe, um objeto cujo comportamento e estado são definidos pela classe. "Instância" é, neste caso, um anglicismo, significando "caso" ou "exemplo" (em inglês instance).
As instâncias de uma class compartilham o mesmo conjunto de atributos, embora sejam diferentes quanto ao conteúdo desses atributos. Por exemplo, a classe "Empregado" descreve os atributos comuns a todas as instâncias da classe "Empregado". Os objetos dessa classe podem ser semelhantes, mas variam em atributos tais como "nome" e "salário". A descrição da classe contém os itens correspondentes a esses atributos e define as operações ou ações relevantes para a classe, tais como "aumento de salário" ou "mudança do número de telefone". Pode-se então falar sobre uma instância com o nome = "Joana Coelho" e outra com o nome = "João Coelho".
Instância é a concretização de uma classe. Em termos intuitivos, uma classe é como um "molde" que gera instâncias de um certo tipo; um objeto é algo que existe fisicamente e que foi "moldado" na classe.
Assim, em programação orientada a objetos, a palavra "instanciar" significa criar. Quando falamos em "instanciar um objeto", criamos fisicamente uma representação concreta da classe. Por exemplo: "animal" é uma classe ou um molde; "cachorro" é uma instância de "animal" e apesar de carregar todas as características do molde de "animal", é completamente independente de outras instâncias de "animal". Exemplo em C#:
// Classe class Animal { // Atributo protected string especie; // Construtor public Animal(string especie) { this.especie = especie; } // Execução static void Main(string[] args) { // Instâncias cachorro = new Animal("Canis lupus familiaris"); gato = new Animal("Felis catus"); lobo = new Animal("Canis lupus"); } }