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

C# 多態(tài)性的深入理解

 更新時(shí)間:2013年06月09日 08:56:06   作者:  
本篇文章是對(duì)C#中的多態(tài)性進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
MSDN 上面的定義:通過繼承,一個(gè)類可以有多種類型:可以用作它自己的類型,任何基類型,或者在實(shí)現(xiàn)接口時(shí)用作任何接口的類型。
從兩個(gè)方面來說明多態(tài)
1.在運(yùn)行時(shí),方法參數(shù)和集合或者是數(shù)組等位置,派生類的對(duì)象都可以作為基類的對(duì)象處理,發(fā)生此情況時(shí),該對(duì)象的聲明類型不再與運(yùn)行時(shí)類型相同。
2.基類定義實(shí)現(xiàn)虛方法,派生類重寫這些方法,在運(yùn)行時(shí),CLR會(huì)查找運(yùn)行時(shí)類型,并且調(diào)用派生類重寫的方法.
復(fù)制代碼 代碼如下:

    class Shape
    {
        public virtual void Draw()
        {
            Console.WriteLine("Draw a shape");
        }
    }
    class Circle : Shape
    {
        public override void Draw()
        {
            Console.WriteLine("Draw a circle");
        }
    }
    class Rectangle : Shape
    {
        public override void Draw()
        {
            Console.WriteLine("Draw a Rectangle");
        }
    }
    class Triangle : Shape
    {
        public override void Draw()
        {
            Console.WriteLine("Draw a Triangle");
        }
    }
    class Programm
    {
        static void Main()
        {
            //此次就說明了,派生類對(duì)象可以作為基類對(duì)象進(jìn)行處理
            Shape[] shapes =
            {
             new Circle(),
             new Rectangle(),
             new Triangle()
            };

            foreach (Shape s in shapes)
            {
                //調(diào)用Draw()方法的時(shí)候,調(diào)用了派生重寫的方法,而不是基類
                s.Draw();
            }
        }
    }

相關(guān)文章

  • C#實(shí)現(xiàn)將程序運(yùn)行信息寫入日志的方法

    C#實(shí)現(xiàn)將程序運(yùn)行信息寫入日志的方法

    這篇文章主要介紹了C#實(shí)現(xiàn)將程序運(yùn)行信息寫入日志的方法,可實(shí)現(xiàn)將程序運(yùn)行信息寫入日志并存儲(chǔ)在Debug目錄下的"/Log/PRG"下的功能,涉及C#針對(duì)日志的相關(guān)寫入技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-08-08
  • unity 如何獲取Text組件里text內(nèi)容的長度

    unity 如何獲取Text組件里text內(nèi)容的長度

    這篇文章主要介紹了unity 獲取Text組件里text內(nèi)容的長度操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2021-04-04
  • C#中的程序集和反射介紹

    C#中的程序集和反射介紹

    這篇文章主要介紹了C#中的程序集和反射介紹,程序集包含資源文件,類型元數(shù)據(jù)、IL代碼,每個(gè)程序集都有自己的名稱、版本等信息,反射就是動(dòng)態(tài)獲取程序集中的元數(shù)據(jù)的功能,需要的朋友可以參考下
    2015-01-01
  • c#網(wǎng)絡(luò)喚醒功能實(shí)現(xiàn)

    c#網(wǎng)絡(luò)喚醒功能實(shí)現(xiàn)

    網(wǎng)絡(luò)喚醒實(shí)現(xiàn)了對(duì)網(wǎng)絡(luò)的集中管理,即在任何時(shí)刻,網(wǎng)管中心的IT管理人員可以經(jīng)由網(wǎng)絡(luò)遠(yuǎn)程喚醒一臺(tái)處于休眠或關(guān)機(jī)狀態(tài)的計(jì)算機(jī),下面使用c#實(shí)現(xiàn)網(wǎng)絡(luò)喚醒功能
    2014-01-01
  • C#基于HttpWebRequest實(shí)現(xiàn)發(fā)送HTTP請求的方法分析

    C#基于HttpWebRequest實(shí)現(xiàn)發(fā)送HTTP請求的方法分析

    這篇文章主要介紹了C#基于HttpWebRequest實(shí)現(xiàn)發(fā)送HTTP請求的方法,結(jié)合實(shí)例形式分析了C#使用HttpWebRequest類與System.IO類實(shí)現(xiàn)發(fā)送HTTP請求相關(guān)操作技巧與注意事項(xiàng),需要的朋友可以參考下
    2019-02-02
  • WinForm實(shí)現(xiàn)跨進(jìn)程通信的方法

    WinForm實(shí)現(xiàn)跨進(jìn)程通信的方法

    這篇文章主要介紹了WinForm實(shí)現(xiàn)跨進(jìn)程通信的方法,通過一個(gè)WinMessageHelper類實(shí)現(xiàn)這一功能,需要的朋友可以參考下
    2014-08-08
  • C# Winform使用log4net進(jìn)行日志記錄

    C# Winform使用log4net進(jìn)行日志記錄

    Log4Net是從Java的log4j移植過來的,功能也與log4j類似,可以把日志信息輸出到文件、數(shù)據(jù)庫等不同的介質(zhì)或目標(biāo),下面我們就來學(xué)習(xí)一下如何使用log4net進(jìn)行日志記錄吧
    2023-11-11
  • Unity實(shí)現(xiàn)3D貪吃蛇的移動(dòng)代碼

    Unity實(shí)現(xiàn)3D貪吃蛇的移動(dòng)代碼

    這篇文章主要為大家詳細(xì)介紹了Unity實(shí)現(xiàn)3D貪吃蛇的移動(dòng)代碼,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-04-04
  • C#幾種排序算法

    C#幾種排序算法

    C#幾種排序算法...
    2007-03-03
  • C#中免費(fèi)密碼庫BouncyCastle的使用詳解

    C#中免費(fèi)密碼庫BouncyCastle的使用詳解

    這篇文章主要來和大家分享一個(gè)C#版開源、免費(fèi)的Bouncy?Castle密碼庫:BouncyCastle,文中介紹了BouncyCastle的具體使用,需要的可以參考下
    2024-03-03

最新評(píng)論

桑植县| 浪卡子县| 定兴县| 二连浩特市| 招远市| 柘城县| 天长市| 临漳县| 雷州市| 开江县| 柞水县| 金坛市| 金华市| 泰兴市| 鹤山市| 天等县| 稻城县| 白水县| 云南省| 武清区| 张掖市| 马尔康县| 施甸县| 溆浦县| 永修县| 永安市| 安新县| 宁远县| 浮山县| 江北区| 浦东新区| 花莲县| 舞钢市| 宽城| 石台县| 特克斯县| 兴城市| 驻马店市| 紫阳县| 筠连县| 平凉市|