//class derivedClass3 : sealedClass { } // Impossible car sealedClass est SEALED public static void execute() { char exec = '-'; if (exec == '+') { Console.WriteLine("Exemple d'utilisation de classe abstraite ou sealed:\r\n"); baseClass bc = new baseClass(); derivedClass dc = new derivedClass(); baseClass bcdc = new derivedClass(); // une instance de derivedClass référencé par un type baseClass bc.methode1(); // Base: methode1 bc.methode2(); // Base: methode2 dc.methode1(); // Derived: methode1 dc.methode2(); // Derived: methode2 bcdc.methode1(); // Base: methode1 -> new a remplacé methode1 DANS derivedClass pas dans baseClass OR bcdc REFERENCE un type baseClass bcdc.methode2(); // Derived: methode2 -> override a remplacé methode2 DANS baseClass DONC la REFERENCE à baseClass utilise la methode de derivedClass Console.WriteLine("\r\n"); } }