理解多態

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            Animal a = new Animal ();
            a.call();
            a=new Dog();
            a.call();
            a = new Cat();
            a.call();
            Console.Read();
        }
    }
    /// <summary>
    /// 多態的另一種用法,一個對象實例,可以重新實現爲其所屬類的子類的對象,如果該子類重寫了其父類的某個虛方法,
    /// 這個實例對象的虛方法就可能呈現出多態特徵。
    /// 需要注意的是虛方法和重寫方法都不能是私有的。
    ///
    /// </summary>
    class Animal
    {
        public virtual void call()
        {
            Console.WriteLine("Animal");
        }
    }
    class Dog : Animal
    {
        public override void call()
        {
            Console.WriteLine("Dog");
        }
    }
    class Cat : Animal
    {
        public override void call()
        {
            Console.WriteLine("Cat");
        }
    }

}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章