总结一下在C#语言中关于重写与多态的相关知识,来源B站刘铁猛老师的C#课程:《C#语言入门详解》。
关于重写:
class Program
{
static void Main(string[] args)
{
Vehicle vehicle = new Vehicle();//实例化Vehicle
Car car = new Car();//实例化Car
vehicle.run();//调用vehicle的run()方法
car.run();//调用car的run()方法
Console.ReadLine();
}
}
class Vehicle
{
public virtual void run()//virtual修饰符,表明该基类的派生类可以重载该方法
{
System.Console.WriteLine("I'm running");
}
}
class Car : Vehicle
{
public override void run()//override修饰符,重写基类的run()方法,对基类的纵向扩展
{
System.Console.WriteLine("car is running");
}
}
运行结果:
从运行结果可以看出:Car类虽然继承了Vehicle类中run()方法,但是Car类重写了run()方法,所以输出结果就不一样了。