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 primeiro computador a conseguir rodar o jogo Spacewar era o PDP-1, que custava 120 mil dólares e pertencia ao Massachusetts Institute of Technology. O jogo demorou 200 horas para ser desenvolvido, em 1962, e seu criador foi um cientista da computação chamado Steve Russel.


Digitar senhas em computadores de uso coletivo é extremamente perigoso, pois além de softwares de monitoramento, existem dispositivos de hardware que podem capturar suas senhas. Evite ao máximo acessar sites de bancos a partir destes computadores. Veja mais aqui.


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 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.


Ao completar o nível 99 do jogo Duck Hunt, para Nintendo, o jogo retorna ao primeiro nível, mas um bug impede que se acerte os patos neste recomeço. Este é um exemplo do que é chamado no mundo dos games de "Kill Screen".


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.


As primeiras máquinas de fliperama do mundo a utilizarem moedas, chamadas de Galaxy Game, custavam mais de 20 mil dólares para serem produzidas. Saiba mais sobre elas aqui.


A empresa Take-Two pagou à Infogrames mais de 22 milhões de dólares pelos direitos de Civilization, em novembro de 1994. Ainda sobre este título, Sid Meier, um dos seus fundadores, é o profissional da área dos games mais premiado em todo o mundo.


Em 1949 a revista Popular Mechanics fez uma previsão para o futuro, dizendo: "Um dia os computadores pesarão menos do que 1,5 tonelada". E pensar que temos smartphones capazes de realizar milhões de vezes mais operações do que os computadores daquela época.


O ábaco é o dispositivo de cálculo mais antigo construído e conhecido pelo homem. Suas formas mais primitivas datam de 400 a.C. e eles foram encontrados na China e na Babilônia. Para saber mais sobre a história dos computadores, clique aqui.


Nos primeiros oito dias após o lançamento do console Nintendo Wii foram vendidas 600 mil unidades. Isso equivale a quase um por segundo e estes incríveis números são referentes às vendas apenas nos EUA!


Street Fighter 2, lançado para o Super Nintendo no início dos anos 90, foi o principal responsável pelo aumento nas vendas deste console. Graças ao sucesso do título nos Arcades e à perfeita adaptação ao console, muitos consumidores adquiriram o SNES para jogarem o título em casa. Saiba mais.