Пример #1
0
        static void Main(string[] args)
        {
            Console.WriteLine("*** Use of 'new' in the context of method Overriding.Example-2 ***\n");
            ParentClass parentOb;

            parentOb = new ParentClass();
            parentOb.ShowMe();
            parentOb = new ChildClass1();
            parentOb.ShowMe(); //Inside Child.ShowMe
            parentOb = new ChildClass2();
            parentOb.ShowMe(); //Inside Parent.ShowMe

            Console.ReadKey();
        }
Пример #2
0
        static void Main(string[] args)
        {
            // ChildClass2で定義したShowMeはポリモーフィズムに含まれない
            // ChildClass2クラスのオブジェクトを生成してParentClass型の変数に代入しているため、
            // コンパイラがParentClassのメソッドしか見つけることができない。
            // このため、Parent.ShowMeの内容が出力される
            Console.WriteLine("*** メソッドをオーバーライドする際にnewキーワードを用いる例 その2 ***");
            ParentClass parentOb;

            parentOb = new ParentClass();
            parentOb.ShowMe();
            parentOb = new ChildClass1();
            parentOb.ShowMe();
            parentOb = new ChildClass2();
            parentOb.ShowMe();
            Console.ReadKey();
        }