C# 兩個 Interface 使用同名方法

// 神的介面
interface IGod
{
  //定義需實作的方法
  string Move();
}

// 人的介面
interface IPerson
{
  //定義需實作的方法
  string Move();
}

class SuperMan : IGod, IPerson
{
  //實作神的移動方法
  string IGod.Move() {
    return "Fly";
  }

  //實作人的移動方法
  string IPerson.Move() {
    return "Walk";
  }
}

class Program
{
  static void Main(string[] args) {
    SuperMan sm = new SuperMan();
    Console.WriteLine("超人移動 with " + ((IGod)sm).Move());
    Console.WriteLine("超人移動 with " + ((IPerson)sm).Move());

    Console.Read();
  }
}

發佈留言