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

C# 接口interface的實(shí)現(xiàn)(多接口、同名沖突、繼承+接口)

 更新時(shí)間:2026年06月26日 10:32:16   作者:影寂ldy  
本文主要介紹了C# 接口interface的實(shí)現(xiàn)(多接口、同名沖突、繼承+接口),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

一、接口 核心概念

接口(interface):是一套行為規(guī)范/標(biāo)準(zhǔn),只定義成員聲明,不寫(xiě)實(shí)現(xiàn)。

類/結(jié)構(gòu)體實(shí)現(xiàn)接口,必須實(shí)現(xiàn)接口中所有成員。

接口核心特點(diǎn)(必考)

  • 接口 不能實(shí)例化
  • 接口中所有成員 默認(rèn)是公共、未實(shí)現(xiàn)
  • 接口 支持多實(shí)現(xiàn)(多繼承)(解決類單繼承問(wèn)題)
  • 接口只包含:屬性、方法、事件、索引器(不能有字段
  • 接口命名規(guī)范:以 I 大寫(xiě)開(kāi)頭(IBook、IPaper、IPeople)

二、基礎(chǔ)語(yǔ)法與定義

1. 接口定義

//書(shū)的接口:規(guī)范書(shū)本必須擁有的屬性和方法
interface IBook
{
    int Id { get; set; }
    int Name { get; set; }
    void F1();
}

//紙張的接口:規(guī)范紙張必須擁有的屬性和方法
interface IPaper
{
    string color { get; set; }
    void F2();
}

2. 關(guān)鍵字區(qū)分(超級(jí)重點(diǎn))

  • 類 : 類 → 叫 繼承(單繼承)
  • 類 : 接口 → 叫 實(shí)現(xiàn)(多實(shí)現(xiàn))

三、多接口實(shí)現(xiàn)(一個(gè)類實(shí)現(xiàn)多個(gè)接口)

C# 類只能單繼承,但可以實(shí)現(xiàn)無(wú)數(shù)個(gè)接口,解決多繼承問(wèn)題。

完整實(shí)現(xiàn)代碼

// Book類 同時(shí)實(shí)現(xiàn) IBook、IPaper 兩個(gè)接口
class Book : IBook, IPaper
{
    // 實(shí)現(xiàn)IBook接口屬性
    public int Id { get; set; }
    public int Name { get; set; }

    // 實(shí)現(xiàn)IPaper接口屬性
    public string color { get; set; }

    // 實(shí)現(xiàn)IBook方法
    public void F1()
    {

    }

    // 實(shí)現(xiàn)IPaper方法
    public void F2()
    {

    }

    // 類自己的擴(kuò)展屬性(接口沒(méi)有)
    public string StudentId { get; set; }
}

規(guī)則

實(shí)現(xiàn)多個(gè)接口時(shí),必須重寫(xiě)/實(shí)現(xiàn)所有接口的所有屬性和方法,缺一不可。

四、接口同名成員沖突問(wèn)題(重點(diǎn)難點(diǎn))

1. 場(chǎng)景介紹

父類 Book 中已經(jīng)存在 StudentId 屬性

新接口 IPeople 中也定義了同名 StudentId 屬性

interface IPeople
{
    string StudentId { get; set; }
}

2. 子類繼承父類 + 實(shí)現(xiàn)接口

SmallBook 繼承 Book、同時(shí)實(shí)現(xiàn) IPeople

class SmallBook : Book, IPeople
{
    // 父類Book已經(jīng)有StudentId
    // 滿足接口IPeople的成員要求,所以【不用重復(fù)實(shí)現(xiàn)】

    // 如果想要重新實(shí)現(xiàn)接口、覆蓋父類屬性,需要加 new
    public new string StudentId { get; set; }
}

核心規(guī)則(必背)

  • 如果父類已經(jīng)擁有和接口同名同返回值的成員
  • 子類繼承父類后,默認(rèn)自動(dòng)滿足接口要求,不需要重寫(xiě)
  • 如果想要重新實(shí)現(xiàn)、覆蓋父類成員,使用 new 隱藏

五、接口 VS 抽象類(高頻面試)

  • 接口:全是抽象規(guī)則(無(wú)實(shí)現(xiàn)),支持多實(shí)現(xiàn)
  • 抽象類:可以有普通成員、抽象成員,只能單繼承

六、完整可運(yùn)行測(cè)試代碼(我?guī)湍阊a(bǔ)全 Main 調(diào)用)

internal class Program
{
    static void Main(string[] args)
    {
        // 1. 實(shí)例化實(shí)現(xiàn)多接口的類
        Book b = new Book();
        b.Id = 1;
        b.Name = 1001;
        b.color = "白色";
        b.StudentId = "S1001";
        b.F1();
        b.F2();

        // 2. 子類繼承父類 + 實(shí)現(xiàn)新接口
        SmallBook sb = new SmallBook();
        sb.StudentId = "S2002"; // new 新屬性

        Console.WriteLine("Book顏色:" + b.color);
        Console.WriteLine("子類StudentId:" + sb.StudentId);
    }
}

七、滿分必考總結(jié)

  • 接口 不能 new、不能實(shí)例化
  • 接口 全部成員默認(rèn)公共、無(wú)實(shí)現(xiàn)
  • 類實(shí)現(xiàn)接口 必須實(shí)現(xiàn)全部成員
  • 類支持 多接口實(shí)現(xiàn),只能單類繼承
  • 父類已有同名成員,子類實(shí)現(xiàn)接口可免實(shí)現(xiàn)
  • 想要覆蓋父類成員,使用 new 關(guān)鍵字隱藏

八、背誦口訣

接口定規(guī)范,無(wú)體不能實(shí)例化;單類繼承多接口,父有同名不用寫(xiě);想要覆蓋加 new,多態(tài)擴(kuò)展最靈活

到此這篇關(guān)于C# 接口interface的實(shí)現(xiàn)(多接口、同名沖突、繼承+接口)的文章就介紹到這了,更多相關(guān)C# 接口interface內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 同步調(diào)用和異步調(diào)用WebService

    同步調(diào)用和異步調(diào)用WebService

    本文給大家介紹webservice同步調(diào)用和異步調(diào)用,同步調(diào)用就是一個(gè)同步操作會(huì)阻塞整個(gè)當(dāng)前的進(jìn)程,直到這個(gè)操作完成才能執(zhí)行下一段代碼,異步調(diào)用不會(huì)阻塞啟動(dòng)操作的調(diào)用線程,調(diào)用程序必須通過(guò)輪流檢測(cè),或者等待完成信號(hào)來(lái)發(fā)現(xiàn)調(diào)用的完成。小伙伴們跟著小編一起學(xué)習(xí)
    2015-09-09
  • 學(xué)會(huì)使用C#異常

    學(xué)會(huì)使用C#異常

    在C#中,程序中在運(yùn)行時(shí)出現(xiàn)的錯(cuò)誤,會(huì)不斷在程序中進(jìn)行傳播,這種機(jī)制稱為“異?!薄?異常通常由錯(cuò)誤的代碼引發(fā),并由能夠更正錯(cuò)誤的代碼進(jìn)行catch。本文將對(duì)C#異常簡(jiǎn)要分析說(shuō)明,下面就跟著小編一起來(lái)看下吧
    2016-12-12
  • C#簡(jiǎn)單發(fā)送email的方法

    C#簡(jiǎn)單發(fā)送email的方法

    這篇文章主要介紹了C#簡(jiǎn)單發(fā)送email的方法,涉及C#發(fā)送Email的相關(guān)技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2015-04-04
  • C#調(diào)用執(zhí)行命令行窗口(CMD)的方法與技巧

    C#調(diào)用執(zhí)行命令行窗口(CMD)的方法與技巧

    在 C# 的編程世界里,我們常常會(huì)遇到需要與操作系統(tǒng)底層進(jìn)行交互的場(chǎng)景,這時(shí),調(diào)用命令行窗口(CMD)就成為了一個(gè)強(qiáng)大的工具,通過(guò) C# 調(diào)用 CMD 都能為我們提供極大的便利,極大地拓展了 C# 應(yīng)用程序的功能邊界,本文介紹了C#中調(diào)用執(zhí)行CMD的方法與技巧
    2025-01-01
  • C#使用Post調(diào)用接口并傳遞json參數(shù)

    C#使用Post調(diào)用接口并傳遞json參數(shù)

    這篇文章主要介紹了C#使用Post調(diào)用接口并傳遞json參數(shù),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。
    2022-06-06
  • 基于c# 接口的實(shí)例詳解

    基于c# 接口的實(shí)例詳解

    本篇文章是對(duì)c#中的接口進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-06-06
  • c#唯一值渲染實(shí)例代碼

    c#唯一值渲染實(shí)例代碼

    這篇文章主要介紹了c#唯一值渲染實(shí)例代碼,有需要的朋友可以參考一下
    2013-12-12
  • C#實(shí)現(xiàn)鬧鐘AlarmClock實(shí)例代碼

    C#實(shí)現(xiàn)鬧鐘AlarmClock實(shí)例代碼

    這篇文章主要介紹了C#實(shí)現(xiàn)鬧鐘AlarmClock實(shí)例代碼,很實(shí)用的功能,需要的朋友可以參考下
    2014-08-08
  • C#小知識(shí)之有趣的類型靜態(tài)構(gòu)造器

    C#小知識(shí)之有趣的類型靜態(tài)構(gòu)造器

    這篇文章主要介紹了C#小知識(shí)之有趣的類型靜態(tài)構(gòu)造器,本文直接給分實(shí)例代碼,然后分析了C#中的這一個(gè)有趣的現(xiàn)象,需要的朋友可以參考下
    2015-04-04
  • 詳解C#中Helper類的使用

    詳解C#中Helper類的使用

    項(xiàng)目中用戶頻繁訪問(wèn)數(shù)據(jù)庫(kù)會(huì)導(dǎo)致程序的卡頓,甚至堵塞。使用緩存可以有效的降低用戶訪問(wèn)數(shù)據(jù)庫(kù)的頻次,有效的減少并發(fā)的壓力。而helper類對(duì)緩存有了封裝,本文展示了封裝的示例代碼,需要的可以參考一下
    2022-04-04

最新評(píng)論

芜湖市| 绥棱县| 阳高县| 叙永县| 湘西| 龙江县| 卢龙县| 赞皇县| 微山县| 资兴市| 松滋市| 蓬溪县| 鹤壁市| 扶绥县| 清新县| 崇左市| 巩义市| 吉水县| 阆中市| 岑巩县| 手游| 河津市| 喀什市| 福贡县| 叙永县| 江孜县| 永兴县| 晋城| 澄城县| 张家界市| 牟定县| 平武县| 衡水市| 遵义市| 准格尔旗| 鹰潭市| 巴楚县| 河北区| 漯河市| 胶州市| 本溪|