2
respostas

Por que os métodos não sobrescrevem automaticamente?

Por que os métodos ao serem recriados em classes filhas não sobrescrevem automaticamente? Tem algum uso para a recriação deles sem sobrescrever o método da classe pai?

2 respostas

Olá Thiago, como vai?

Sinto muito pela demora em te retornar.

Quando criamos um método "comum" na classe pai, não é uma obrigação implementa-las em classes filhas. O que podemos fazer para é utilizar classes abstratas como classe pai, com métodos abstratos em seu esqueleto. Assim toda classe filha irá ser obrigada a implementa-las. Desta forma o IntelliSense do Visual Studio irá nos ajudar, com a tecla de atalho Ctrl + . (ponto) irá implementa-las automaticamente.

Agora se você quer que o método já venha com o "corpo" inteiro, não é possível. Pense que para cada classe iremos utilizar esse método de maneira diferente. Dificilmente um método que utilizamos em várias classes terá a mesma função em todas.

Espero ter ajudado. Abraços!

Olá Ana, entendi a sua explicação porém a minha dúvida não era exatamente sobre isso, vou tentar deixar mais claro.

Se nós escrevemos um método em uma classe filha que já existe na classe base, nós o estamos escrevendo pois queremos que ele se comporte de forma diferente da classe base, caso contrário não precisaria ser escrito pois ao chamar ele, já chamaria o da classe base. Certo? Nesse caso, por que quando reescrevemos o método na classe filha ele não sobrescreve automaticamente? já que não tem outro motivo para o reescrever na classe filha que não seja alterar o funcionamento dele em relação à classe pai? Por que é necessário colocar o override, essa é a minha dúvida.

Ou existe outro uso pra reescrever o método que eu desconheço, nesse caso por favor me apresenta.

Obrigado pela resposta.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software