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:
![Sobrecarga]( ../../assets/img/cursos/poo/5-Sobrecarga_Metodos_POO1.png)
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:
![Sobrecarga]( ../../assets/img/cursos/poo/5-Sobrecarga_Metodos_POO2.png)
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:
![Sobrecarga]( ../../assets/img/cursos/poo/5-Sobrecarga_Metodos_POO3.png)
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:
![Sobrecarga]( ../../assets/img/cursos/poo/5-Sobrecarga_Metodos_POO4.png)
Colocando a seta para baixo, acessamos a segunda sugestão, conforme imagem abaixo:
![Sobrecarga]( ../../assets/img/cursos/poo/5-Sobrecarga_Metodos_POO5.png)
E como terceira opção temos:
![Sobrecarga]( ../../assets/img/cursos/poo/5-Sobrecarga_Metodos_POO6.png)
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?
Música tema do Blanka
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.
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.
Nintendo Wii
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!
Mouse
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.
Computadores de 1,5 tonelada
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.
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.
Street Fighter 2
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.