国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C# > 正文

消除C#中接口的二義性

2023-05-02 19:48:26
字體:
來源:轉載
供稿:網(wǎng)友

在本站中的另外兩篇文章里比較詳細的介紹了接口的含義及定義和實現(xiàn)方法,本文中重點介紹由于接口的多繼承而導致的二義性問題。

另外兩篇文章的連接:

(1)C#中的接口

(2)C#中接口的使用方法

在C#中不支持多重繼承的一個重要原因就是命名沖突問題,命名沖突會導致二義性。C#雖然不支持類的多重繼承,但支持接口的多重繼承,這同樣會導致二義性的產(chǎn)生。下面的例子將演示二義性的產(chǎn)生的原因及消除二義性的一個辦法:

using System;
interface Donkey
{
   void Run();
}
interface Horse
{
    void Run();
}
class Mule:Donkey,Horse
{
    void Donkey.Run()
    {
       Console.WriteLine("小驢勁兒真大阿");
    }
    void Horse.Run()
   {
        Console.WriteLine("馬奔跑能力真強!");
   }
}
class Test
{
   static void Main()
   {
      Mule m = new Mule();
     ((Donkey)m).Run();
     ((Horse)m).Run();
    }
}

運行結果如下:

消除接口的二義性

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 安陆市| 石屏县| 旬邑县| 杭州市| 澄城县| 滦平县| 嘉义市| 虞城县| 来宾市| 大邑县| 久治县| 祥云县| 屯昌县| 武威市| 新安县| 吉水县| 石首市| 永川市| 浏阳市| 永仁县| 崇明县| 凭祥市| 昂仁县| 平阳县| 周至县| 康保县| 蓬莱市| 昌江| 广南县| 阿鲁科尔沁旗| 嘉禾县| 剑川县| 古浪县| 临颍县| 永州市| 霍林郭勒市| 寿光市| 内乡县| 姜堰市| 石阡县| 泌阳县|