Minicursos - Programação Orientada a Objetos

Sobrecarga de Métodos


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

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

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

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

Colocando a seta para baixo, acessamos a segunda sugestão, conforme imagem abaixo:

Sobrecarga

E como terceira opção temos:

Sobrecarga

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!



Algumas notícias

As memórias DDR5 estão chegando e trarão muitas melhorias

A próxima geração de memórias RAM já possui especificações definidas e promete grande melhoria em relação às atuais DDR4. E o mais importante: mesmo com desempenho bastante superior, elas consumirão menos energia. A tensão de trabalho das memórias DDR5 será de apenas 1.1V contra os 1.2V das atu...

Ler Notícia Completa

Google Chrome consumirá menos memória RAM em breve

O navegador da gigante de buscas da Internet é, sem dúvida, um dos melhores disponíveis, mas é inegável que o consumo de memória RAM por parte dele é exagerado. Este problema já se estende por anos, mas parece que em breve ele terá uma solução. Um novo recurso do Windows 10, chamado SegmentHeap...

Ler Notícia Completa

Sites e vídeos sem propagandas? Sim, é possível através da exploração de uma falha!

Seguramente você já se deparou com sites que bloqueiam o conteúdo da página e te obrigam a assinar determinado serviço para ler o conteúdo, certo? Ou foi tentar assistir aquele vídeo e as propagandas em tela cheia não pararam de surgir. Bem, todos já nos deparamos com isso, no entanto, um bug de...

Ler Notícia Completa

Inteligência Artificial cria antibiótico super potente

Pesquisadores do MIT (EUA) identificaram um novo e poderoso composto antibiótico usando um algoritmo de aprendizado de máquina, uma técnica de inteligência artificial. Em testes de laboratório, a droga matou algumas das bactérias causadoras de doenças mais problemáticas do mundo, incluindo algu...

Ler Notícia Completa

Google lança programa para capacitar profissionais brasileiros e com direito a bolsas

O Google iniciou nesta terça-feira (17) o Certificado Profissional de Suporte em TI para brasileiros. Trata-se de um curso desenvolvido pela gigante de tecnologia em parceria com a Coursera. Inicialmente, o módulo de ensino foi anunciado a um valor de US$ 39 por mês. Entretanto, sofreu uma redu...

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