namespace 接口和抽象類
{
/// <summary>
/// 載客
/// </summary>
interface IpassengerCarrierable
{
void Passenger();
}
/// <summary>
/// 載貨
/// </summary>
interface IHeavyLoadCarrierable
{
void Cargo();
}
/// <summary>
/// 車(chē)類
/// </summary>
abstract class Vehicle
{
public string Color { get; set; }
public string Type { get; set; }
public double Money { get; set; }
public abstract void Start();
public abstract void Run();
public abstract void Stop();
public void CanRunInRoad()
{
Console.WriteLine("該工具正行駛在公路上!");
}
}
abstract class Car : Vehicle
{
public override void Start()
{
Console.WriteLine("該轎車(chē)正在啟動(dòng)中!");
}
public override void Run()
{
Console.WriteLine("該轎車(chē)正在行駛中!");
}
public override void Stop()
{
Console.WriteLine("該轎車(chē)正在拋錨中!");
}
}
abstract class Train : Vehicle
{
public override void Start()
{
Console.WriteLine("火車(chē)發(fā)動(dòng)中!");
}
public override void Run()
{
Console.WriteLine("火車(chē)運(yùn)行中!");
}
public override void Stop()
{
Console.WriteLine("火車(chē)停止運(yùn)行了!");
}
}
class Compact : Car,IpassengerCarrierable
{
public void Passenger()
{
Console.WriteLine("小polo正在載客!");
}
}
class FreightTrain : Train, IHeavyLoadCarrierable
{
public void Cargo()
{
Console.WriteLine("該趟列車(chē)正在載貨中!");
}
}
class Program
{
static void Main(string[] args)
{
Compact c= new Compact();
c.Color = "黃色";
c.Type = "緊湊型小polo";
c.Money = 120000;
Console.WriteLine("這輛{0}{1}大概{2}錢(qián),",c.Color ,c.Type ,c.Money);
c.CanRunInRoad();
c.Start();
c.Run();
c.Passenger();
c.Stop();
Console.WriteLine();
FreightTrain f = new FreightTrain();
f.Color = "綠色";
f.Type = "載貨列車(chē)";
f.Money = 1000000;
Console.WriteLine("這輛{0}{1}大概{2}錢(qián),", f.Color, f.Type, f.Money);
f.Start();
f.Run();
f.Cargo();
f.Stop();
Console.ReadKey();
}
}
}
![]() |
|