Minicursos - Programação Orientada a Objetos

Sobreposição de Métodos


A sobreposição de métodos é um conceito bastante importante, mas que poucos tiram proveito dele. Vou explicar seu funcionamento com um exemplo, pois ficará mais fácil. Vamos imaginar que o exemplo que citamos anteriormente, no tutorial sobre herança, tenha uma alteração e que agora tenhamos 3 classes herdando da classe Pessoa, conforme ilustração abaixo:

Sobreposição de Métodos - Programação Orientada a Objetos - POO

Acrescentei a classe "Diretor", que também herda de Pessoa, mas ela precisa implementar o seu próprio método exibeDados, que é diferente do método exibeDados da classe "Pessoa". Bem, agora temos um problema, pois quando criarmos o objeto "Diretor" e chamarmos o método exibeDados, teoricamente ele pegará o método da superclasse e não nos permitirá chamar o método "local". Para permitir essa modificação no método da superclasse existe a sobreposição de métodos, que nada mais é do que permitir que façamos um método com o mesmo nome do contido na superclasse, mas com funções totalmente diferentes. A forma de fazer isso em C# é bastante fácil, vejam:

Sobreposição de Métodos - Programação Orientada a Objetos - POO

O primeiro passo é adicionar, na superclasse, a palavra virtual à sintaxe da criação do método, conforme figura acima. O segundo passo é acrescentar, na subclasse, a palavra override antes do tipo de retorno de dado no método a ser sobrescrito, vejam:

Sobreposição de Métodos - Programação Orientada a Objetos - POO

Vamos testar esse código e ver se de fato isso está acontecendo. Adicionei outro botão à aplicação. Um cria um objeto do tipo "Aluno", que é herdeiro da classe "Pessoa", e chama o método exibeDados da superclasse. O outro cria um objeto do tipo "Diretor", que também é herdeiro de "Pessoa", mas este chama um método sobreposicionado. A telinha ficou da seguinte forma:

Encapsulamento e Modificadores de Acesso

Vou clicar no botão que carrega o método da Superclasse:

Encapsulamento e Modificadores de Acesso

Agora vou dar OK e clicar no botão referente à Subclasse:

Encapsulamento e Modificadores de Acesso

Vejam que agora ele ignorou o método da superclasse e carregou o método override.

Essa é a função da sobreposição de métodos. Quando necessário, você poderá ignorar o método de uma superclasse e cria-lo de maneira diferente na subclasse.



Algumas notícias

Xiaomi vende 52,9 milhões de celulares no segundo trimestre de 2021 e faturamento dispara

A gigante chinesa Xiaomi registrou um aumento de quase 85% no seu faturamento no segundo trimestre de 2021 em comparação ao mesmo período do ano passado. A receita divulgada pela empresa foi de 13,5 bilhões de dólares (algo em torno de 70 bilhões de reais) nos meses de abril a junho deste ano...

Ler Notícia Completa

Galaxy S9 e Galaxy S9 Plus receberão atualização de segurança este mês

A Samsung começou a liberar esta semana, para proprietários dos modelos Galaxy S9 e Galaxy S9 Plus, uma nova atualização de segurança. Por enquanto somente alguns países da Europa receberam o pacote, que deve ser dis...

Ler Notícia Completa

Novas câmeras 'debaixo da tela' da Oppo surpreendem

Para muitos, colocar uma câmera embaixo da tela de um celular era uma tarefa impensável, por conta de diversos problemas técnicos. Os primeiros testes da Oppo que se propuseram a isso geravam imagens de qualidade bastante insatisfatória, já que a captação da luz era prejudicada pela tela. A prim...

Ler Notícia Completa

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
Ajude o Contém Bits com um cafezinho!

Se você gostou do artigo, se ele lhe foi útil de alguma maneira e você quiser ajudar o Contém Bits, saiba que é simples, fácil e rápido. Basta clicar na imagem do PayPal (ou no cafezinho) e seguir as instruções, em ambiente seguro e com o respaldo do Paypal. Eu agradeço muito! :)


Você gostará destes vídeos!