As sobrecargas de métodos são muito mais simples do que o imponente nome sugere. Como acabei de falar no tópico anterior
sobre métodos construtores, vou aproveitar aquele exemplo e explicar sobrecarga a partir dele.
Sobrecarga de métodos nada mais é do que ter métodos (sejam eles construtores ou não) com o mesmo nome, mas recebendo diferentes
argumentos. Vamos aos exemplos práticos. A imagem abaixo mostra o nosso construtor padrão, que não
recebe nenhum argumento, vejam:
Conforme vimos no tópico sobre Construtores, esse método será chamado sempre que um objeto for criado e, nesse
instante inserirá os valores “Branca” e “FIAT” nas propriedades strCor e strMarca, respectivamente.
Agora vamos criar uma sobrecarga para esse método, prevendo uma situação onde nós queiramos informar, já no ato da
criação do objeto, qual é sua cor, ou seja, queremos que o objeto já “nasça” com a cor que especificarmos, sem a
necessidade de acionar algum método para alterar esse valor posteriormente. Nosso código agora ficará da seguinte
forma:
Vejam que criei um método com o mesmo nome, mas recebendo um argumento do tipo String. Isso quer dizer que quando chamarmos esse método construtor que recebe o
argumento cor, nosso objeto nascerá com a cor que for especificada e com a marca em branco, ou seja, a propriedade strMarca
receberá um valor vazio, da mesma forma que acontece quando não criamos um método construtor e o compilador o faz
automaticamente.
Vamos criar uma nova sobrecarga, agora recebendo também a marca do carro. Nosso código ficará da seguinte forma:
Agora temos um método que recebe, além da cor, também a marca que será inserida no ato da criação do nosso objeto do
tipo Carro. Isso é a sobrecarga de métodos. Percebam que é muito simples, mas os mais
atentos devem estar se perguntando: “ótimo, mas como o sistema saberá qual dos métodos deverá chamar, já que existirão
vários?”. Se você é um deles, parabéns, pois é uma excelente observação.
Vejam, a resposta é tão simples quanto o conceito de Sobrecarga. O sistema saberá qual método chamar de acordo com a
quantidade de argumentos que você estiver passando no momento da criação do objeto. Se
não passar nenhum argumento, ele chamará o construtor padrão. Se passar apenas um, ele chamará o método de primeira
sobrecarga (destacado em verde na imagem acima). Se passar dois, ele chamará o de segunda sobrecarga (azul). E assim
por diante. Vejam como o IntelliSense do Visual Studio nos ajuda nesse momento:
Colocando a seta para baixo, acessamos a segunda sugestão, conforme imagem abaixo:
E como terceira opção temos:
Dessa forma podemos saber quantas sobrecargas de métodos existem e como cada uma delas espera receber seus argumentos.
De acordo com os argumentos que forem passados é que o sistema chamará o método construtor
adequado.
Vale lembrar que fiz estes exemplos com um método construtor, mas você pode utilizar a sobrecarga em quaisquer métodos.
É isso!
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.
Você Sabia?
Asteroids
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.
Muitos aplicativos
Instalar vários aplicativos com o mesmo propósito, como editores de texto, reprodutores de músicas ou vídeos e até programas antívirus sobrecarregam o seu sistema operacional e ainda ocupam espaço desnecessário em seu HD. Tenha apenas um bom programa para cada função.
Tetris
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.
Mega Man
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.
Recorde de patentes
A IBM detém o recorde de patentes em um único ano, atingindo a marca de 4186 registros no ano de 2008. Clique aqui e saiba mais sobre esta gigante do mundo da tecnologia.
Final Fantasy X
O jogo Final Fantasy X para o Sony Playstation 2 vendeu, apenas no dia do seu lançamento, 1.455.732 cópias, estabelecendo um recorde de vendagem para as primeiras 24 horas de um game. Méritos da SquareSoft, que desenvolveu um excelente produto!
Space Invaders
A partida mais longa do clássico Space Invaders durou incríveis 38 horas e 32 minutos e esta façanha foi conseguida por um jogador de apenas 12 anos! O jogo, claro, podia ser pausado para alimentação e descanso, mas ainda assim o recorde, estabelecido no dia 02/09/1980, ainda não foi quebrado. Saiba mais.