C#虚方法,抽象类,接口
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace 接口和抽象类
{
class Program
{
static void Main(string[] args)
{
Vehicle v = new Car();
v.Run();
v.Fill();
v.Stop();
IVehicle v1 = new Truck();
v1.Run();
v1.Fill();
v1.Stop();
Console.ReadLine();
}
}
interface IVehicle //接口,实际是纯虚类,所以方法都是抽象方法
{
void Fill();
void Stop();
void Run();
}
abstract class Vehicle:IVehicle //子类Vehicle实现了接口的方法
{
public void Fill()
{
Console.WriteLine("Filling...");
}
public void Stop()
{
Console.WriteLine("Stopping...");
}
abstract public void Run(); //Run方法没有在Vehicle中实现,所以继续定义为抽象方法
//public virtual void Run() //由于虚方法中没有任何函数实现,所以定义为上面的抽象方法
//{
//}
}
class Car:Vehicle
{
public override void Run()//在子类中实现Vehicle的抽象方法
{
Console.WriteLine("Car is Runing");
}
}
class Truck:Vehicle
{
public override void Run()//在子类中实现Vehicle的抽象方法
{
Console.WriteLine("Trunk is Runing");
}
}
}


浙公网安备 33010602011771号