fork download
  1. using static System.Console;
  2. using System.Collections.Generic;
  3.  
  4. public class Test {
  5. public static void Main() {
  6. var pessoas = new List<Pessoa>() {{ new Pessoa() }, { new PessoaFisica { Nome = "Rod" }}};
  7. foreach (var pessoa in pessoas) WriteLine(pessoa.EuSou());
  8. }
  9. }
  10.  
  11. public class Pessoa { //não usei abstract para facilitar o exemplo
  12. protected int id; //campo
  13. public virtual string EuSou() => "Não sei quem sou!"; //método virtual
  14. }
  15.  
  16. public class PessoaFisica : Pessoa {
  17. public string Nome { get; set; } //propriedade
  18. public override string EuSou() => $"Eu sou {Nome}!"; //método virtual sobrescrito
  19. }
  20.  
  21. //https://pt.stackoverflow.com/q/25831/101
Success #stdin #stdout 0.03s 22484KB
stdin
Standard input is empty
stdout
Não sei quem sou!
Eu sou Rod!