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

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
Você gostará destes vídeos: