国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

c#多態(tài)(override)的使用

這篇具有很好參考價(jià)值的文章主要介紹了c#多態(tài)(override)的使用。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

方法重寫(xiě)(override):多態(tài),通過(guò)父類類型對(duì)象,調(diào)用子類當(dāng)中對(duì)應(yīng)方法的實(shí)現(xiàn)。
細(xì)節(jié):子類當(dāng)中的override方法會(huì)“抹殺”父類當(dāng)中對(duì)應(yīng)virtual方法

不使用多態(tài)時(shí),父類調(diào)用子類方法時(shí),會(huì)調(diào)用父類的方法

internal class pet
    {
        public void shout()
        {
            Console.WriteLine("pet 叫");
        }

        public virtual void eat()
        {
            Console.WriteLine("pet eat food");
        }
    }
    internal class dog : pet
    {
        public new void shout()
        {
            Console.WriteLine("dog 叫");
        }

        public override void eat()
        {
            Console.WriteLine("dog eat food");
        }
    }

main方法通過(guò)里氏替換調(diào)用子類shout方法

 dog dog = new dog();
 pet pet = dog;
 pet.shout();//輸出的是父類的方法 pet 叫

那如何可以,通過(guò)父類調(diào)用子類的實(shí)現(xiàn)呢?這就要使用多態(tài)了,方法的重寫(xiě) ,父類方法使用 virtual修飾,子類同簽名方法需要override修飾,如上面的eat方法。

main方法執(zhí)行

 dog dog = new dog();
 pet pet = dog;
 pet.eat();//輸出的是子類的eat方法 dog eat food

多態(tài)性使得代碼更加靈活和可擴(kuò)展,允許我們?cè)诓恍薷默F(xiàn)有代碼的情況下增加新的功能。它也是面向?qū)ο缶幊痰闹匾匦灾?,有助于?shí)現(xiàn)代碼的模塊化和重用文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-687600.html

到了這里,關(guān)于c#多態(tài)(override)的使用的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • unity C#中的封裝、繼承和多態(tài)簡(jiǎn)單易懂的經(jīng)典實(shí)例

    unity C#中的封裝、繼承和多態(tài)簡(jiǎn)單易懂的經(jīng)典實(shí)例

    C#中的封裝、繼承和多態(tài)是面向?qū)ο缶幊蹋∣OP)的三大核心特性。下面分別對(duì)這三個(gè)概念進(jìn)行深入解釋,并通過(guò)實(shí)例來(lái)說(shuō)明它們?cè)趯?shí)際開(kāi)發(fā)中的應(yīng)用。 封裝 (Encapsulation) 實(shí)例1: 在這個(gè)例子中, BankAccount 類封裝了賬戶余額(balance),外部不能直接修改它,只能通過(guò) Deposit 和

    2024年02月22日
    瀏覽(25)
  • 【深入淺出C#】章節(jié) 4: 面向?qū)ο缶幊袒A(chǔ):封裝、繼承和多態(tài)

    封裝、繼承和多態(tài)是面向?qū)ο缶幊讨械暮诵母拍?,它們?duì)于構(gòu)建靈活、可擴(kuò)展和可維護(hù)的軟件系統(tǒng)至關(guān)重要。 封裝(Encapsulation)通過(guò)將數(shù)據(jù)和相關(guān)操作封裝在一個(gè)類中,隱藏內(nèi)部實(shí)現(xiàn)細(xì)節(jié),并提供公共接口來(lái)與外部進(jìn)行交互。封裝有助于保護(hù)數(shù)據(jù)的完整性和安全性,同時(shí)提

    2024年02月10日
    瀏覽(27)
  • C# 類class、繼承、多態(tài)性、運(yùn)算符重載,相關(guān)練習(xí)題

    34.函數(shù)重載 35.幾個(gè)相同的函數(shù)? print() ,用于打印不同的數(shù)據(jù)類型。 ? 36.基類和派生類 ? 37.基類的初始化 ? 38.多重繼承 ? 39.動(dòng)態(tài)多態(tài)性 ? 40.抽象性和虛方法 ? 41.通過(guò)虛方法 area() 來(lái)計(jì)算不同形狀圖像的面積 ? 42.運(yùn)算符重載的實(shí)現(xiàn) ? @www.runoob.com?

    2024年02月09日
    瀏覽(32)
  • Linux使用Docker完整安裝Superset3,同時(shí)解決please use superset_config.py to override it報(bào)錯(cuò)

    Linux使用Docker完整安裝Superset3,同時(shí)解決please use superset_config.py to override it報(bào)錯(cuò)

    接下來(lái)我們運(yùn)行一些額外的程序: 生成一串復(fù)雜的字符串: nzUP0CMXcCaQI+fQ2XZIJLp1aQJLBA/bJXk/dZQFtMeicMHe/5btzRus 創(chuàng)建容器,并且指定用戶密碼: 用戶密碼這里可以使用:回車、回車,輸入兩次密碼;比如設(shè)置密碼為 admin 注意:如果出現(xiàn)如下提示( A Default SECRET_KEY was detected, please u

    2024年02月02日
    瀏覽(20)
  • 多態(tài)的使用

    多態(tài)的使用

    面向?qū)ο笕筇卣鳎悍庋b、繼承、 多態(tài) ? ? 同類型的對(duì)象,表現(xiàn)出不同的 形態(tài) 。(對(duì)象的多種形態(tài)。) 同類型的對(duì)象,執(zhí)行同一個(gè)行為,會(huì)表現(xiàn)出不同的行為 特征 。 同一個(gè)對(duì)象,在不同時(shí)刻表現(xiàn)出來(lái)的不同形態(tài) 父類類型? ? ? 對(duì)象名稱? ? ? ??????=? ?????????子

    2024年02月14日
    瀏覽(13)
  • 詳解@Override注解

    目錄 1.是什么 2.為什么用 3.舉例說(shuō)明 1)示例一 2)示例二 3)示例三 @Override注解是偽代碼,用于表示被標(biāo)注的方法是一個(gè)重寫(xiě)方法。 @Override注解,只能用于標(biāo)記方法,并且它只在編譯期生效,不會(huì)保留在class文件中。 @Override 檢查該方法是否是重寫(xiě)方法。如果發(fā)現(xiàn)其父類,或

    2024年02月14日
    瀏覽(15)
  • Python中重寫(xiě)(override)

    Python中,有重寫(xiě)(override)的概念,但是沒(méi)有嚴(yán)格意義上的重載(overload)。 類繼承時(shí),子類可以重新定義父類中已有的方法,稱為重寫(xiě)(Override)。 在Python中,沒(méi)有像其他語(yǔ)言(如C++)那樣的函數(shù)重載(Overload)機(jī)制。函數(shù)重載是指在同一作用域內(nèi)允許多個(gè)函數(shù)具有相同的名

    2024年02月02日
    瀏覽(34)
  • Java注解——@Override注解(詳解1)

    1、注解: 注解是 JDK 1.5 的特性 注解是給編譯器或 JVM 看的,編譯器或 JVM 可以根據(jù)注解來(lái)完成相應(yīng)的功能。 或者叫注釋類型,英文是:Annotation 注解Annotation是一種引用數(shù)據(jù)類型。編譯之后也是生成xxx.class文件。 注解的語(yǔ)法格式: 【修飾符列表】 @interface 注解類型名{ } publ

    2024年02月03日
    瀏覽(44)
  • Java重寫(xiě)(Override)&重載(Overload)

    目錄 重寫(xiě)(Override)概述 重寫(xiě)(Override)講解 重載(Overload)概述 重載(Override)講解 Java面向?qū)ο缶幊讨械闹貙?xiě)(override)指的是子類可以重寫(xiě)其父類中的非private方法,使得子類在調(diào)用該方法時(shí)會(huì)使用自己的實(shí)現(xiàn)而不是父類的實(shí)現(xiàn)。 定義一個(gè)名為 Animal 的父類和一個(gè)名為 Cat 的子類,其

    2023年04月09日
    瀏覽(20)
  • 前端本地覆蓋資源(local override)調(diào)試

    前端本地覆蓋資源(local override)調(diào)試

    Chrome 65 中的開(kāi)發(fā)者工具將包含以下新功能: 本地替換 新的無(wú)障礙工具 更改標(biāo)簽頁(yè) 新的搜索引擎優(yōu)化 (SEO) 和性能審核 Performance 面板中的多個(gè)錄制內(nèi)容 使用 worker 和異步代碼執(zhí)行可靠的代碼單步調(diào)試 本篇文章主要學(xué)習(xí)與實(shí)踐下本地替換這個(gè)功能 提示:以下是本篇文章正文內(nèi)

    2024年01月16日
    瀏覽(19)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包