先看看多态的定义吧,多态指的是一个对象(用类来声明的变量)具有多个类型的能力,c#中的多态,主要是用在上转型中,还是实例来说明:
code如下
class Person
{public virtual void MethondA()
{
Console.WriteLine("person methonda");
}
public void MethondB()
{
Console.WriteLine("person methondb");
}
}
class Student : Person
{
public override void MethondA()
{//重写了父类中的方法
Console.WriteLine("student methonda");
}
public void MethondB()
{//隐式的隐藏了父类中的方法,编译后,会为你自动加上new关键字
Console.WriteLine("student methondb");
}
}
class Test{
public static boid main(string[] args){
Person person = new Student();//多态性的体现
person.MethondA();//子类,重写调用的是子类方法
person.MethondB();//父类,隐藏,不论显示还是隐式都死调用的是父类
Console.ReadLine();//多说两句,vitual 是不能是private,static合用的,这样上转型中,调用的static方法肯定是父类中的,
}
}
这下子明白了么?