010 – INSTÂNCIA de uma Classe Em POO – Tutorial de POO
Playlist do Tutorial de Programação Orientada a Objetos POO
Instância (classe)
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 classe 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 = “Maria José” (“João Coelho”) desta forma o leitor não assimila este com aquele no que diz respeito à palavra iniciada com a mesma letra (J) ou obrigatoriamente ter parte do conteúdo do nome igual ao anterior (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
Animal cachorro = new Animal(“Canis lupus familiaris”);
Animal gato = new Animal(“Felis catus”);
Animal lobo = new Animal(“Canis lupus”);