Пример #1
0
        //Classic sample of Polymorphism 4 Knowing When to Use Override and New Keywords
        public static void ScenarioEight()
        {
            Teacher baseTeacher = new Teacher();

            baseTeacher.ShowMeDance();
            System.Console.WriteLine("----------");

            NewStyleTeacher newStyleTeacher = new NewStyleTeacher();

            newStyleTeacher.ShowMeDance(); //go to the new
            newStyleTeacher.Dance();       ///go to the new
            System.Console.WriteLine("----------");

            BachataTeacher bachataTeacher = new BachataTeacher();

            bachataTeacher.ShowMeDance(); //go to  base
            System.Console.WriteLine("----------");

            StupidTeacher stupidTeacher = new StupidTeacher();

            stupidTeacher.ShowMeDance(); //go to the old

            // Keep the console open in debug mode.
            Console.WriteLine("Press any key to exit.");
            Console.ReadKey();
        }
Пример #2
0
        //Classic override with "new" witout override
        public static void ScenarioFive()
        {
            NewStyleTeacher teacher = new NewStyleTeacher();

            teacher.Dance();       // Show Child
            teacher.ShowMeDance(); // Show Father
            Console.WriteLine("------------------");


            Teacher newTeacher = (Teacher)teacher;

            newTeacher.Dance();
            newTeacher.ShowMeDance(); // Show father -public virtual void Dance()


            Console.WriteLine("------------------");
            ((Teacher)teacher).Dance();
            // Keep the console open in debug mode.
            Console.WriteLine("Press any key to exit.");
            Console.ReadKey();
        }