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

C#使用虛擬方法實現(xiàn)多態(tài)

 更新時間:2015年05月19日 09:59:26   作者:一羽清寧  
這篇文章主要介紹了C#使用虛擬方法實現(xiàn)多態(tài),涉及C#多態(tài)的實現(xiàn)技巧,具有一定參考借鑒價值,需要的朋友可以參考下

本文實例講述了C#使用虛擬方法實現(xiàn)多態(tài)。分享給大家供大家參考。具體分析如下:

我們看一個例子,假若有一個動物類,類中用方法cry()描述動物的叫聲,不同的動物的叫聲是不一樣的。根據(jù)繼承的特征,把類中公共部分的內容放在父類中,那么cry()方法就應該放在父類中,根據(jù)這樣的思路編寫程序如下:

using System;
class Anmial
{
public void Cry()
{
Console.WriteLine("這是動物的叫聲");
}
}
class Dog: Anmial
{
public void Run()
{
  Console.WriteLine("狗路得快");
}
}
class Cat: Anmial
{
public void Look()
{
  Console.WriteLine("貓長得乖");
}
}
class Test
{
static void Main()
{
  Dog mydog = new Dog();
  mydog.Cry();
  mydog.Run();
  Cat mycat = new Cat();
  mycat.Cry();
  mycat.Look();
  Console.ReadKey();
}
}

運行后發(fā)現(xiàn)狗和貓的叫聲是相同的,都是調用了父類Cry()方法。現(xiàn)在希望在同一個方法Cry()能夠體現(xiàn)出不同動物的叫聲,那么在子類就應該重新描述Cry(),也就是重寫Cry()方法。

重寫方法就是修改它的實現(xiàn),或者在派生類中對它進行重寫。在父類中用virtual 關鍵字聲明的方法在子類中可以重寫,就是虛擬方法。虛擬方法的語法如下:

訪問修飾符 virtual 返回類型 方法名()
{
//方法體
}

在父類中聲明的虛擬方法,在子類中重寫時用override關鍵字,就是將virtual關鍵字改成override,然后修改方法體中的代碼即可。

我們修改上面的代碼:

using System;
class Anmial
{
  public virtual void Cry()
{
Console.WriteLine("這是動物的叫聲");
}
}
class Dog: Anmial
{
public override void Cry()
{
Console.WriteLine("這是狗的叫聲汪汪");
}
}
class Cat: Anmial
{
public override void Cry()
{
Console.WriteLine("這是貓的叫聲喵喵");
}
}
class Test
{
static void Main()
{
  Dog mydog = new Dog();
  mydog.Cry();
  Cat mycat = new Cat();
  mycat.Cry();
  Console.ReadKey();
}
}

注意:父類方法的訪問級別和子類重寫方法的訪問級別相同,即它們應該有相同的訪問修飾符。
例如:

public virtual void Hello()

不能重寫為:

private override void Hello()

希望本文所述對大家的C#程序設計有所幫助。

相關文章

  • Question:基于C#連續(xù)賦值的面試題介紹

    Question:基于C#連續(xù)賦值的面試題介紹

    本篇文章是關于C#中連續(xù)賦值的面試題介紹,需要的朋友參考下
    2013-05-05
  • 使用C#實現(xiàn)一個簡單的繪圖工具

    使用C#實現(xiàn)一個簡單的繪圖工具

    這篇文章主要為大家詳細介紹了如何使用C#開發(fā)的簡單繪圖工具,可以將簽名簡單繪圖后的效果以圖片的形式導出,有需要的小伙伴可以跟隨小編一起學習一下
    2024-02-02
  • C#使用AnimateWindow()實現(xiàn)動畫窗體的方法

    C#使用AnimateWindow()實現(xiàn)動畫窗體的方法

    用API函數(shù)AnimateWindow函數(shù)來實現(xiàn)窗體的動畫效果,在C#中,你可以使用P/Invoke技術調用Windows API中的AnimateWindow函數(shù)來實現(xiàn)動畫窗體,本文就給大家介紹了C#使用AnimateWindow()實現(xiàn)動畫窗體的方法,感興趣的朋友可以參考下
    2024-04-04
  • winform去掉右上角關閉按鈕的方法

    winform去掉右上角關閉按鈕的方法

    這篇文章主要介紹了winform去掉右上角關閉按鈕的方法,需要的朋友可以參考下
    2014-02-02
  • C# 實現(xiàn)QQ式截圖功能實例代碼

    C# 實現(xiàn)QQ式截圖功能實例代碼

    本篇文章主要介紹了C# 實現(xiàn)QQ式截圖功能實例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-02-02
  • 詳解Unity中的ShaderGraph入門使用教程

    詳解Unity中的ShaderGraph入門使用教程

    Unity2018版本之后推出了一個可編程渲染管線工具ShaderGraph,讓我們可以通過可視化界面拖拽來實現(xiàn)著色器的創(chuàng)建和編輯,今天重點給大家介紹Unity中的ShaderGraph入門使用教程,需要的朋友參考下吧
    2021-07-07
  • Unity Shader實現(xiàn)裁切效果

    Unity Shader實現(xiàn)裁切效果

    這篇文章主要為大家詳細介紹了Unity Shader實現(xiàn)裁切效果,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-04-04
  • WPF實現(xiàn)圓形進度條的示例代碼

    WPF實現(xiàn)圓形進度條的示例代碼

    這篇文章主要為大家詳細介紹了WPF如何實現(xiàn)圓形的進度條,文中的示例代碼講解詳細,對我們學習或工作有一定幫助,感興趣的小伙伴可以了解一下
    2023-01-01
  • C#中使用Spire.XLS來操作Excel數(shù)據(jù)的實現(xiàn)

    C#中使用Spire.XLS來操作Excel數(shù)據(jù)的實現(xiàn)

    本文主要介紹了C#中使用Spire.XLS來操作Excel數(shù)據(jù)的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-04-04
  • 在C#中如何使用JSON

    在C#中如何使用JSON

    JSON(JavaScript?Object?Notation)是一種輕量級的數(shù)據(jù)交換格式,具有易讀、易解析的特點,廣泛用于API數(shù)據(jù)交互、配置文件等,本文介紹在C#中如何使用JSON,感興趣的朋友跟隨小編一起看看吧
    2024-09-09

最新評論

隆德县| 西林县| 大冶市| 柏乡县| 肇东市| 乌恰县| 通道| 庄浪县| 鄂温| 保定市| 名山县| 仙桃市| 兴安盟| 平果县| 长泰县| 垫江县| 无棣县| 万全县| 宁明县| 嘉定区| 安顺市| 于都县| 皋兰县| 巨野县| 昌吉市| 延寿县| 榕江县| 阳原县| 开封县| 聂荣县| 满城县| 华安县| 定安县| 绥德县| 宁河县| 崇义县| 益阳市| 卓尼县| 海盐县| 博白县| 清镇市|