Uma instância ou o processo de instanciação é a criação de um objeto a partir de uma classe. É o exato momento em que um espaço na memória é alocado para que o objeto o ocupe e manipule seus dados lá. Na instanciação a classe é lida e, de acordo com o que está determinado nela, o objeto é criado e passa a ser um item operante na aplicação. Vamos aproveitar a classe Carro, que criamos anteriormente, e fazer a instanciação dela.

O comando é muito simples, vejam:

Carro objCarro = new Carro();

Definimos o tipo, depois o nome, e em seguida, com o comando new, criamos uma instância dele. Vejam o código comentado no Visual C#:

Instância

Após esse procedimento temos um objeto do tipo Carro alocado na memória, cujo nome é objCarro, ou seja, a partir desse nome é possível acessar seus métodos.

Vamos dar uma olhada na classe Carro:

Instância

Podemos ver que ela possui dois métodos, que são o setCor e o getCor. Agora vamos, a partir do objeto criado e que chamamos de objCarro, acessar esses métodos e definir uma cor para nosso carro. Basta que digitemos o nome do objeto e acrescentemos um ponto, e em seguida o nome do método que gostaríamos de chamar. O IntelliSense do Visual C# já se encarrega de exibi-los entre os métodos disponíveis, conforme figura abaixo:

Instância

Destaquei os dois métodos que criamos, pois os outros são métodos padrão do C#.

Vamos definir a cor desse carro para "azul".

Instância

Teoricamente temos, nesse instante, um objeto alocado na memória, do tipo Carro, cujo nome é objCarro e com a propriedade cor definida como Azul, mas para vermos se isso funcionou, vamos exibir, em uma caixa de diálogo, o valor definido na propriedade cor desse objeto. Para isso farei a inserção da seguinte linha de comando, abaixo da definição da cor do carro.

MessageBox.Show("A cor do objeto carro, cujo nome é objCarro é: " + objCarro.getCor());

Então o bloco completo de comandos ficará assim:

private void button1_Click(object sender, EventArgs e)
{
Carro objCarro = new Carro();
objCarro.setCor("Azul");
MessageBox.Show("A cor do objeto carro, cujo nome é objCarro é: " + objCarro.getCor());
}

Vejam que chamei o método getCor() do objeto objCarro para retornar o valor da propriedade cor.

Agora vamos executá-lo:

Instância

Vejam que, de fato, a cor resgatada desse objeto foi o Azul, que é o valor que definimos na linha: objCarro.setCor("Azul");

O que é preciso que fique muito claro, e se você for um programador acostumado a utilizar métodos procedimentais terá um pouco de resistência em aceitar, é que a classe Carro NÃO possui, nesse momento, a cor "azul" definida dentro da dela, mas sim o objeto que criamos a partir dela e chamamos de objCarro possui o valor Azul em sua propriedade responsável por armazenar a cor. Para tentar deixar isso bem claro, criarei outro objeto, também do tipo Carro, de nome xyz, e darei outra cor para ele, vejam:

Instância

Vamos à execução desse código:

Instância

Agora ficou claro que temos dois objetos do tipo Carro na memória. Um deles chama-se objCarro e sua propriedade cor possui o valor “Azul”, e o outro chama-se xyz e tem em sua propriedade cor o valor “Vermelha”.

Nós poderíamos criar quantos objetos do tipo "Carro" quiséssemos e todos teriam a mesma estrutura, pois foram criados a partir da mesma classe, mas poderiam receber valores diferentes para suas propriedades. Vejam a imagem abaixo, que resume bem o que é o processo de instanciação:

Instância

Podemos criar quantos objetos do tipo "Carro" quisermos, mas cada um deles poderá ter seus próprios dados, como Marca e Modelo.

Percebam o quanto isso facilita a criação do código. Se estivéssemos criando uma classe Paciente, que armazenaria dados de pacientes para um software de gerenciamento de uma clínica, por exemplo, poderíamos criar as seguintes propriedades:

Nome
Endereço
Idade
E-mail
Sintomas
Data da Consulta

Enfim, dessa forma poderíamos instanciar esse objeto e manipular essas informações de forma bastante organizada e, ao término deste ciclo, poderíamos resgatar as informações previamente armazenadas e salva-las em um banco de dados.

No tópico seguinte começarei a falar sobre os quatro pilares de sustentação da POO, que são Abstração, Encapsulamento, Herança e Polimorfismo. Todos eles são de vital importância para a criação de códigos eficientes e robustos em qualquer linguagem de programação orientada a objetos.


HARDWARE

Entendendo o seu computador

O que há dentro do meu computador?

Existem alguns componentes fundamentais presentes dentro do seu computador e é muito importante que você conheça um pouco sobre eles, seja para argumentar com algum vendedor durante a compra de um novo PC ou para identificar alguma atitude desleal de algum técnico que esteja te passando um orçamento para reparo. Na seção Raio-X aqui do Contém Bits você pode conhecer e entender mais detalhadamente sobre cada componente, ou também pode clicar abaixo no componente que deseja, para conhecê-lo melhor.

  • Gabinetes

  • Placas-Mãe

  • Processadores

  • Memória

  • Fontes

  • Drives Ópticos

  • Discos Rígidos

  • SSD

  • Placas de Som

  • Placas de Vídeo

Você Sabia?

O ENIAC, primeiro computador valvulado do mundo, possuía 17.000 válvulas, 500.000 pontos de solda, 30 toneladas de peso e ocupava uma área de 180 metros quadrados. Clique aqui e conheça mais sobre a história dos computadores.


O console Nintendo Entertainment System (NES), da Nintendo, detém o recorde de videogame mais clonado em todo o mundo. Já foram catalogados mais de 300 aparelhos diferentes capazes de reproduzir seus jogos! Saiba mais sobre ele aqui.


A primeira versão do clássico Mega Man, para Nintendo 8 bits, tem seu recorde de pontos estabelecido em 03/11/2006, por David Archey, que cravou 2.396.700 pontos, terminando o jogo.


O mouse foi criado em 9 de dezembro de 1968, por um americano chamado Douglas Engelbart, que o batizou de "XY Position Indicator for a Display System". Conheça a história do mouse clicando aqui.


O título Space Invaders, lançado em 1980, fez tanto sucesso em todo o mundo que as pessoas compravam o console Atari apenas para poderem jogá-lo em casa. Saiba mais sobre este incrível título clicando aqui.


O título Asteroids, do Atari, possui recorde de pontuação há 30 anos. Em 1982 um americano chamado Scott Safran atingiu a marca de 41.336.440. Atualmente ele faz parte de um minúsculo grupo de jogadores que conseguiram manter seus recordes por mais de 30 anos.


Até a primeira metade dos anos 90 era bastante comum que as trilhas sonoras dos games fossem criadas por mulheres e a responsável pelas músicas do clássico Street Fighter 2 foi Yoko Shimomura. Segundo ela, o ritmo "Tararirarin" da música tema do personagem Blanka, do Brasil, veio à sua cabeça enquanto ela estava no trem a caminho da Capcom.


A empresa Universal City Studios, detentora dos direitos autorais do King Kong, processou a Nintendo logo após o lançamento de Donkey Kong, pois segundo ela, o game violava os seus direitos. Ela venceu o processo e recebeu da Nintendo uma indenização de quase 2 milhões de dólares.


Criar um jogo é muito mais complexo do que parece. São milhares, às vezes, milhões de linhas de código. Isso não é exagero! Apenas o jogo Ultima Online possui 6.006.313 linhas de programação, totalizando 25.103.295 palavras


O épico jogo River Raid, do Atari, foi desenhado e boa parte de sua programação foi feita por uma mulher: Carol Shaw, uma excelente programadora e funcionária da Activision em 1982. Saiba mais sobre a história deste incrível jogo, aqui.


Desde o seu lançamento, em 1985, o fantástico jogo Tetris vende pelo menos 70 milhões de unidades por ano em todo o mundo! Os dados são oficiais e fornecidos pela THQ, uma das distribuidoras do título.


O primeiro jogo a fazer uso de uma Inteligência Artificial foi o Mouse in the Maze, criado em 1955, na União Soviética. Você pode saber mais sobre ele clicando aqui.