调用方法的基类版本
在上面的方法隐藏和重写中,我们总是在派生类中重新定义了方法的功能,但有时我们希望派生类中的方法除了完成其基类版本可以完成的各种工作外,还要完成其他的工作。
这时就有可能需要在派生类的方法重写中调用该方法的基类版本,使用关键字base就可以做到这一点。
例:
using System;
namespace diaoyongfangfajlbb
{
class Class1
{
[STAThread]
static void
{
Car c = new Car();
c.Start();
}
}
class Vehicle
{
public virtual void Start() //关键字 virtual这种方法称为虚拟方法表示可以重写
{
Console.WriteLine("交通工具启动!");
}
}
class Car : Vehicle
{
public override void Start() //重写的方法声明中加上关键字override.这里是重写了基类的Start方法
{
base.Start (); //通过使用关键词base来调用基类的start方法
Console.WriteLine("汽车起步!");
}
}
}