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?
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
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.