【C#】Interface(介面)應用
由於C#只有單一繼承,若要使用多個類別中的方法時,可以透過Interface方式來實現。
介面的宣告方法:Interface中不能包含方法的實作
Interface 介面名稱{
介面方法
}
範例程式碼:
interface IFly //定義IFly介面
{
void Fly(int n); //宣告Fly方法
}
class Car : IFly //Car類別實作IFly介面
{
public void SpeedUp(int n)
{
Console.WriteLine("車子加速前進 {0} 公里", n);
}
//Car類別的Fly方法實作IFly介面的Fly方法
public void Fly(int n)
{
Console.WriteLine("車子飛上天前進 {0} 公里", n);
}
}
class Bird : IFly //Bird類別實作IFly介面
{
public void Eat(int n)
{
Console.WriteLine("小鳥吃了 {0} 公斤的飼料", n);
}
//Bird類別的Fly方法實作IFly介面的Fly方法
public void Fly(int n)
{
Console.WriteLine("小鳥飛上天前進 {0} 公里", n);
}
}
class Motocycle : IFly //Motocycle類別實作IFly介面
{
public void Add_Oil(int n)
{
Console.WriteLine("機車加油 {0} 公升 ", n);
}
//Motocycle類別的Fly方法實作IFly介面的Fly方法
public void Fly(int n)
{
Console.WriteLine("機車飛上天前進 {0} 公里", n);
}
}
class Program
{
static void Main(string[] args)
{
//汽車
Car BMW = new Car();
BMW.Fly(30);
Console.WriteLine();
//小鳥
Bird bird1 = new Bird();
bird1.Fly(5);
Console.WriteLine();
//機車
Motocycle Yamaha = new Motocycle();
Yamaha.Add_Oil(6); //加油
Yamaha.Fly(10); //實作IFly
Console.Read();
}
}
執行畫面:
留言
張貼留言