new和base的语法

base的用法:
一、用于子类构造函数中,指定调用父类的构造函数(假如父类有多个构造函数的话,因为子类构造函数默认调用的是父类的无参构造函数以初始化父类成员。)

二、用于普通的方法,同样是指定调用父类的某个方法。

new的语法:
一、用于实例化对象

二、用于屏蔽父类的方法,示例如下:    class A
    {
        public virtual void Foo()
        {
            Console.WriteLine("A.Foo");
        }
    }
    class B:A
    {
        public override void Foo()
        {
            Console.WriteLine("B.Foo");
        }
    }

            B b = new B();
            A a = b;

            a.Foo();
            b.Foo();
//这样两个调用的都是B.Foo();
而如果B类关键字override换成new,则虽然A a = b,父类的引用会调用其本身的方法;

posted @ 2011-03-17 13:35  polymorphic  阅读(481)  评论(0编辑  收藏  举报