Ich habe ein Toutorial ausgedruckt, von galileo Computing c#, darin ist ein Codebeispiel enthalten um Polymorphismus und virtuelle Funktionen zu erklären:
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33:
| using System; public abstract class MusicServer { public abstract void Play(); } public class WinAmpServer : MusicServer { public override void Play() { Console.WriteLine("WinAmpServer.Play()"); } } public class MediaServer : MusicServer { public override void Play() { Console.WriteLine("MediaServer.Play()"); } } class Test { public static void CallPlay(MusicServer ms) { ms.Play(); } public static void Main() { MusicServer ms = new WinAmpServer(); CallPlay(ms); ms = new MediaServer(); CallPlay(ms); } } |
das Programm startet bei: public static void Main(); und springt dann wild umher um 2 Zeilen Code auszugeben!
Meine Frage ist das nur bei diesem Beispiel so dass das Programm bei der Main void beginnt? oder ist das überhaupt so?
und was passiert wenn es keine Main void gibt?