C#多态

| CSharp | 839 Reads

C#多态也是一个非常容易理解的东西。

一句话说,就是,

你可以把实例化的子类放进参数是父类的方法里面。

 

public class Creature
    {
        public string Name;
    }
    public class Man : Creature
    {
        public decimal OtherFeature;
    }
    public class Cat: Creature
    {
        public int OtherFeature;
    }
    class Program
    {
        static void Display(Creature creature)
        {
            Console.WriteLine(creature.Name);
        }
        static void Main(string[] args)
        {
            Man man = new Man();
            man.Name = "Mike";
            Cat cat = new Cat();
            cat.Name = "Mimi";
            Display(man);
            Display(cat);
            Console.ReadKey();
        }
    }

如上述所示,

传进静态方法Display的参数是一个父类。

 

但是在Main方法里面使用Display的时候,

却传入了子类。

 

本来,不同的类,是不能这么做的。

但是因为正是子类,所以继承父类的所有功能,才能这么做。

 

这,就是多态。

This article was last edited at