A sobrecarga de método, também conhecida como sobrecarga de função ou polimorfismo de tempo de compilação, é um conceito de ter dois ou mais métodos com o mesmo nome, mas com assinatura diferente no mesmo escopo. Existem muitas linguagens de programação compatíveis com esse recurso: Ada, C ++, C #, D e Java.
Exemplo de Sobrecarga de Método em C #
Como mostrado no exemplo acima, o método 'Polygon' é sobrecarregado três vezes com assinatura de método diferente, ou seja, o tipo ou o número de parâmetros são diferentes.
A substituição de método, também conhecida como Substituição de Função ou Polimorfismo no Tempo de Execução, é um recurso de POO que permite que uma classe filha forneça sua própria implementação ao método definido na classe pai. A implementação na classe filho substitui a definição do método na classe base, desde que o método na classe filho deva ter o mesmo nome, assinatura e tipo de retorno.
Exemplo de substituição de método em c #
Aqui, o método draw na classe Source2 substitui o método draw definido na classe Source1.