Se eu usar virtual na classe pai, sou obrigado a reescrever método na classe filha, ou tenho a de escolher se vou reescrever ou não?
Se eu usar virtual na classe pai, sou obrigado a reescrever método na classe filha, ou tenho a de escolher se vou reescrever ou não?
Exemplo:
class Conta { public int Numero { get; set; } public double Saldo { get; protectedset; } public Cliente Cliente { get; set; }
public virutal void Saca(double valorASerSacado) { this.Saldo -= valorASerSacado;
}
class ContaEspecial : Conta { //sou obrigado a escrever esse metodo ou é opcional? public override void Sacar(double v) { this.Saldo = v+ 100; }
}
Olá Augusto!
Você não é obrigado a sobrescrever o método, pode faze-lo apenas se quiser.
Caso você queira obrigar a sobrescrita, nesse caso marcaria o método como abstrato.