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?
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?
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.