Minicursos - Programação Orientada a Objetos

Construtores


Construtores são métodos chamados automaticamente sempre que um novo objeto é criado. O principal papel de um construtor é executar uma sequência de comandos que darão valores iniciais ao objeto. Vejam, na imagem abaixo, o exemplo de um método construtor:

Construtores

A primeira observação importante é que os métodos construtores não possuem nenhum tipo de retorno de dado. Apenas relembrando, sempre que criamos uma função que processará alguma informação e enviará um resultado ao término de sua execução, devemos definir o tipo de retorno. Se a função fará um cálculo e retornará um número inteiro, a função deve especificar o tipo "int" em sua estrutura. Se vai retornar uma frase, palavra ou caractere, deve conter o tipo "string" na estrutura, enfim, é preciso que deixemos explícito o tipo de dado que será enviado. Caso ela não retorne nenhuma informação, devemos ainda assim especificar o tipo "void". Nos métodos construtores isso não é necessário, aliás, eles não devem conter esta especificação.

Na imagem acima podemos observar também que a partir da classe Carro, criada no tópico sobre Classes, defini alguns valores padrão para ela, que foram a cor Branca e a marca FIAT. Dessa forma, sempre que o método construtor for chamado e um novo objeto do tipo Carro surgir, ele terá esses dados inseridos automaticamente em seus atributos. Vejamos a execução disso com o seguinte código:

Construtores

Vamos executar esse código e ver se, de fato, os valores que definimos como padrão são inseridos no objeto:

Construtores

Aqui podemos ver que a cor Branca foi realmente inserida e, ao clicar no OK surge a nova caixa de diálogo, conforme imagem abaixo:

Construtores

A imagem acima mostra que nos foi retornada a marca FIAT, que definimos como padrão no método construtor. Claro que esses são apenas os valores criados no “nascimento” do objeto e, conforme citei anteriormente, eles podem ser alterados. Vou chamar o método setCor alterando a cor para Azul, vejam:

Construtores

E executando esse código temos o seguinte retorno:

Construtores

Agora podemos observar que a nova cor realmente é o Azul. Com isso eu gostaria de deixar claro que o papel de método contrutor é criar o objeto e lhe atribuir valores iniciais, mas também é importante destacar que esses valores podem ser (e quase sempre serão) alterados ao longo da execução do programa.

Para encerrar o assunto Construtores, vale ressaltar que sempre que um objeto é criado o método construtor do mesmo é chamado. Bem, mas o que aconteceria se não fizéssemos o método construtor e mesmo assim tentássemos criar um objeto? Vou anular nosso método construtor, deixando o código da seguinte forma:

Construtores

Agora vamos executar o código:

Construtores

Notem que o código foi executado sem nenhum erro mas, quando a execução chega no trecho onde ele deveria mostrar a cor padrão do nosso objeto do tipo Carro, o campo aparece vazio. A primeira impressão que isso pode causar é que os métodos construtores não são essenciais, já que o código foi executado sem problemas e o valor não foi exibido apenas porque não havia nada na propriedade cor do objeto criado.

Bem, na verdade não é bem assim que as coisas acontecem. O C#, que é a linguagem usada nesses testes, é inteligente o suficiente para detectar que a classe Carro não possuía um método construtor, então, no momento da compilação ele cria um por conta própria e define todas as suas propriedades com valores vazios. Se fossem dados numéricos ele atribuiria valores zero como padrão. Então, o que é importante que fique claro é que mesmo que você não defina um método construtor, ele estará presente para inicilizar seu objeto, caso contrário não seria possível executar o código. De qualquer forma, deixar de criar esses métodos contando com o auxílio do compilador não é uma boa prática de programação. Lembre-se de sempre cria-lo, até porque pode haver situações em que os métodos construtores precisem receber parâmetros de inicialização e, nesse caso o compilador não poderá ajudar. Falarei mais sobre isso no próximo tópico.



Algumas notícias

O que acontece com o cérebro no exato momento em que morremos

O que passa em nossa cabeça no momento da morte? Não se sabe exatamente e, embora os cientistas tenham alguma resposta, a resposta continua sendo um grande mistério. Além de difícil solução, tentar respondê-la pode criar implicações éticas. No entanto, uma equipe de cientistas da Universidade...

Ler Notícia Completa

Operada e devolvida ao útero, menina que nasceu duas vezes hoje 'acorda sorrindo toda manhã'

Um bebê pode nascer duas vezes? Não é o caso da absoluta maioria das crianças, mas foi assim para a pequena Lynlee Boemer. Em outubro de 2015, sua mãe, Margaret Boemer, descobriu que estava grávida de gêmeos. Ela sofreu um aborto espontâneo, mas um dos bebês sobreviveu. Com dez semanas de ges...

Ler Notícia Completa

Médicos dizem estar perto de chegar a exame de sangue para todos os tipos de câncer

Cientistas dizem que estão mais perto de criar um exame de sangue universal, capaz de identificar todos os tipos de câncer. Estudo conduzido com 1.005 pacientes por uma equipe da Universidade Johns Hopkins, dos Estados Unidos, testou um método que detecta oito tipos de proteínas e 16 mutações ge...

Ler Notícia Completa

Formato JPEG está com os dias contados

Há quantos anos você ouve falar em arquivos JPG? O formato já era utilizado nos primórdios da web comercial nos anos 1990, vivendo há mais de 20 anos como o principal método de compressão de imagens do público. No que depender de Google, Mozilla e outras empresas, isso pode mudar dentro de algum...

Ler Notícia Completa

EUA aprovam 'droga viva', 1ª terapia contra câncer que reestrutura sistema imunológico do paciente

Os Estados Unidos aprovaram o primeiro tratamento que reestrutura o sistema imunológico do paciente para atacar o câncer. A agência reguladora de medicamentos do país - a FDA - diz que a decisão foi um momento "histórico" e que a medicina agora "entra em uma nova fronteira". A companhia Novar...

Ler Notícia Completa

Cientistas norte-americanos criaram anticorpo capaz de atacar 99% das variações de HIV

Um grupo formado por pesquisadores do Instituto Nacional de Saúde (NIH), dos Estados Unidos, e da empresa farmacêutica Sanofi criaram em laboratório anticorpos superdesenvolvidos capazes de atacar 99% das cepas de HIV. O feito é ainda mais significativo por ser capaz até mesmo de prevenir a infec...

Ler Notícia Completa

Facebook investirá mais de US$ 1 bilhão em conteúdo original em 2018

Anunciada em agosto, a plataforma original de vídeos do Facebook, Watch, parece ser a grande aposta de Mark Zuckerberg para o ano que vem. De acordo com o TechCrunch, a empresa deve investir US$ 1 bilhão para criar e incentivar iniciativas voltadas para a produção de conteúdo audiovisual exclu...

Ler Notícia Completa

Software da Adobe é capaz de manipular gravações de voz e criar frases com perfeição

O software se chama Voco, foi desenvolvido pela Adobe (a mesma criadora do Photoshop) e permite manipular gravações de voz com uma precisão inédita, inclusive criando frases que a pessoa não disse. Na demonstração do app, um técnico forjou uma gravação em que um homem dizia “eu beijei a Jordan...

Ler Notícia Completa

Games nos Jogos Olímpicos de 2024. Será?

Sabe aquela discussão sobre os jogos eletrônicos poderem ou não ser considerados esportes? Pois o comitê responsável pela realização dos Jogos Olímpicos de 2024 acaba de colocar mais um pouco de lenha nesta fogueira. Isso aconteceu através da divulgação de que eles gostariam de incorporar torne...

Ler Notícia Completa

Algoritmo de Inteligência artificial sabe quando você está sonhando

Pesquisadores da Divisão de Medicina do Sono do Hospital Geral de Massachusetts desenvolveram um algoritmo capaz de identificar quando uma pessoa está sonhando. A tecnologia usa sinais de rádio frequência, através de um dispositivo semelhante a um roteador Wi-Fi, para monitorar a pessoa durante...

Ler Notícia Completa
Você gostará destes vídeos: