fork download
  1. using System;
  2.  
  3. public class Test
  4. {
  5. interface Interfejs {
  6. void metodaWirtualna();
  7. }
  8.  
  9. class Klasa1 : Interfejs {
  10. public void metodaWirtualna() {
  11. Console.WriteLine("Klasa1");
  12. }
  13. }
  14.  
  15. class Klasa2 : Interfejs {
  16. public virtual void metodaWirtualna() {
  17. Console.WriteLine("Klasa2");
  18. }
  19. }
  20.  
  21. class Klasa3 : Klasa2 {
  22. public override void metodaWirtualna() {
  23. Console.WriteLine("Klasa3");
  24. }
  25. }
  26.  
  27. static void Wypisz(Interfejs obiekt) {
  28. obiekt.metodaWirtualna(); // wirtualna czy nie wirtualna, oto jest pytanie!
  29. }
  30.  
  31. public static void Main()
  32. {
  33. Wypisz(new Klasa1());
  34. Wypisz(new Klasa2());
  35. Wypisz(new Klasa3());
  36. }
  37. }
Success #stdin #stdout 0.01s 131520KB
stdin
Standard input is empty
stdout
Klasa1
Klasa2
Klasa3