“虚” 就是不真实的意思。假设B是A的派生类,如果A中有个方法不适合B类使用,则可以将A类的这个方法定义为虚方法(virtual)。注意“不适合”并不意味着不能重写该方法,可以重写该方法实现多态。
多态就是指“一个方法,多种实现”,静态多态就是指方法的重载,动态多态就是通过继承,抽象类的机制来实现。
举个例子:
class Program
{
static void Main(string[] args)
{
Shape s = new Circle();
s.Draw();
Shape s2 = new Rectangle();
s2.Draw();//此时调用Shape类的Draw()方法
Console.Read();
}
}
class Shape
{
//定义一个虚方法 , 加virtual关键字
public virtual void Draw()
{
Console.WriteLine("在这里画一个普通的图形");
}
}
class Circle : Shape
{ //重写了方法,实现多态
public override void Draw()
{
Console.WriteLine("在这里画一个圆形");
}
}
class Rectangle : Shape
{
//计算面积
public void CalcArea(){ }
//继承了父类Shape的Draw()方法
}
|