最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

c# 接口interface基礎(chǔ)入門小例子

 更新時間:2013年04月21日 20:32:07   作者:  
用于描述類的功能,類似于契約,指示了類將:執(zhí)行的工作,形參類型,返回結(jié)果類型,但本身沒有執(zhí)行的代碼

復(fù)制代碼 代碼如下:

  /// <summary>
    /// interface
    /// 與抽象類的區(qū)別:
    /// 1,abstract可以有具體方法和抽象方法(必須有一個抽象方法),interface沒有方法實現(xiàn)
    /// 2,abstract可以有構(gòu)造函數(shù)和析構(gòu)函數(shù),接口不行
    /// 3,一個類可以實現(xiàn)多個interface,但只能繼承一個abstract
    /// 特點:
    /// interface成員隱式具有public,所以不加修飾符
    /// 不可以直接創(chuàng)建接口的實例,如:IPerson xx=new IPerson()//error
    /// </summary>
    public interface IPerson
    {
        string Name { get; set; }//特性
        DateTime Brith { get; set; }
        int Age();//函數(shù)方法
    }
    interface IAdderss
    {
        uint Zip { get; set; }
        string State();
    }

復(fù)制代碼 代碼如下:

   /// <summary>
    /// interface實現(xiàn)interface
    /// </summary>
    interface IManager:IPerson
    {
        string Dept { get; set; }
    }
    /// <summary>
    /// 實現(xiàn)多個interface
    /// 實現(xiàn)哪個interface必須寫全實現(xiàn)的所有成員!
    /// </summary>
    public class Employee:IPerson,IAdderss
    {
        public string Name { get; set; }
        public DateTime Brith { get; set; }
        public int Age()
        {
            return 10;
            throw new NotImplementedException();
        }
        public uint Zip { get; set; }
        public string State()
        {
            return "alive";
        }
    }

復(fù)制代碼 代碼如下:

/// <summary>
     /// 重寫接口實現(xiàn):
     /// 如下,類 Employer 實現(xiàn)了IPerson,其中方法 Age() 標(biāo)記為virtual,所以繼承于 Employer 的類可以重寫  Age()
     ///
     /// </summary>
     public class Employer:IPerson
     {
         public string Name { get; set; }
         public DateTime Brith { get; set; }
         public virtual int Age()
         {
             return 10;
         }
     }
     public class work:Employer
     {
         public override int Age()
         {
             return base.Age()+100;//其中base是父類
         }
     }

實現(xiàn),對象與實例:

復(fù)制代碼 代碼如下:

       #region #interface

             Employee eaji = new Employee()
                 {
                     Name = "aji",
                     Brith = new DateTime(1991,06,26),
                 };

             #endregion
             #region #interface 的強制轉(zhuǎn)換

             IPerson ip = (IPerson)eaji; //可以通過一個實例來強制轉(zhuǎn)換一個接口的實例,進(jìn)而訪問其成員,
             ip.Age();
             DateTime x=ip.Brith;

             //也可以寫成這樣:
             IPerson ip2 = (IPerson) new Employee();

             //但是這樣子有時候不是很安全,我們一般用is 和 as來強制轉(zhuǎn)換:
             if (eaji is IPerson)
             {
                 IPerson ip3 = (IPerson)eaji;
             }
             //但is并不是很高效,最好就是用as:
             IPerson ip4 = eaji as IPerson;
             if (ip4 != null)//用as時,如果發(fā)現(xiàn)實現(xiàn)ip4的類沒有繼承 IPerson,就會返回null
             {
                 Console.WriteLine(ip4.Age());
             }

             #endregion

相關(guān)文章

  • C#讀寫txt文件多種方法實例代碼

    C#讀寫txt文件多種方法實例代碼

    這篇文章主要介紹了C#讀寫txt文件的小例子,大家可以參考使用
    2013-11-11
  • C#采用OpenXml給word里面插入圖片

    C#采用OpenXml給word里面插入圖片

    這篇文章主要介紹了C#采用OpenXml給word里面插入圖片的方法,參考了MSDN官網(wǎng)的示例加以說明,是OpenXml操作Word的一個非常重要的應(yīng)用,需要的朋友可以參考下
    2014-09-09
  • C#使用FluentScheduler實現(xiàn)觸發(fā)定時任務(wù)

    C#使用FluentScheduler實現(xiàn)觸發(fā)定時任務(wù)

    FluentScheduler是.Net平臺下的一個自動任務(wù)調(diào)度組件,這篇文章主要為大家詳細(xì)介紹了C#如何使用FluentScheduler實現(xiàn)觸發(fā)定時任務(wù),感興趣的小伙伴可以了解下
    2023-12-12
  • C#圖像亮度調(diào)整的方法

    C#圖像亮度調(diào)整的方法

    這篇文章主要介紹了C#圖像亮度調(diào)整的方法,涉及C#操作圖像亮度的相關(guān)技巧,需要的朋友可以參考下
    2015-04-04
  • C#匿名委托和Java匿名局部內(nèi)部類使用方法示例

    C#匿名委托和Java匿名局部內(nèi)部類使用方法示例

    Java在嵌套類型這里提供的特性比較多,假設(shè):Java的字節(jié)碼只支持靜態(tài)嵌套類,內(nèi)部類、局部內(nèi)部類和匿名局部內(nèi)部類都是編譯器提供的語法糖,這個假設(shè)目前沒法驗證(看不懂字節(jié)碼),本文先來看一下C#是如何為我們提供的這種語法糖
    2013-11-11
  • C#端口掃描器的編寫方法

    C#端口掃描器的編寫方法

    這篇文章主要為大家詳細(xì)介紹了C#端口掃描器的編寫方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-07-07
  • C#使用SqlDataAdapter對象獲取數(shù)據(jù)的方法

    C#使用SqlDataAdapter對象獲取數(shù)據(jù)的方法

    這篇文章主要介紹了C#使用SqlDataAdapter對象獲取數(shù)據(jù)的方法,結(jié)合實例形式較為詳細(xì)的分析了SqlDataAdapter對象獲取數(shù)據(jù)具體步驟與相關(guān)使用技巧,需要的朋友可以參考下
    2016-02-02
  • 解析C#編程的通用結(jié)構(gòu)和程序書寫格式規(guī)范

    解析C#編程的通用結(jié)構(gòu)和程序書寫格式規(guī)范

    這篇文章主要介紹了C#編程的通用結(jié)構(gòu)和程序書寫格式規(guī)范,這里我們根據(jù)C#語言的開發(fā)方微軟給出的約定來作為編寫樣式參照,需要的朋友可以參考下
    2016-01-01
  • C#打印PDF文檔的10種方法(小結(jié))

    C#打印PDF文檔的10種方法(小結(jié))

    這篇文章主要介紹了C#打印PDF文檔的10種方法(小結(jié)),可分多種情況來進(jìn)行,如設(shè)置靜默打印、指定打印頁碼范圍和打印紙張大小、雙面打印、黑白打印等等,一共分成10種等,感興趣的可以了解一下
    2019-04-04
  • C#使用ToUpper()與ToLower()方法將字符串進(jìn)行大小寫轉(zhuǎn)換的方法

    C#使用ToUpper()與ToLower()方法將字符串進(jìn)行大小寫轉(zhuǎn)換的方法

    這篇文章主要介紹了C#使用ToUpper()與ToLower()方法將字符串進(jìn)行大小寫轉(zhuǎn)換的方法,實例分析了C#大小寫轉(zhuǎn)換的相關(guān)技巧,需要的朋友可以參考下
    2015-04-04

最新評論

濉溪县| 云和县| 静乐县| 安国市| 瑞金市| 平遥县| 肥西县| 和平区| 清河县| 华亭县| 江门市| 鸡西市| 福海县| 会泽县| 岳池县| 景德镇市| 三穗县| 樟树市| 宁乡县| 镇赉县| 米脂县| 盐边县| 赤城县| 德阳市| 马关县| 梨树县| 邯郸市| 五家渠市| 广昌县| 和田县| 诸暨市| 内江市| 隆子县| 西城区| 临江市| 兴城市| 安达市| 衡东县| 淄博市| 济南市| 安泽县|