国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C# > 正文

c#繼承中的函數調用實例

2020-01-24 02:11:28
字體:
來源:轉載
供稿:網友

本文實例講述了c#繼承中的函數調用方法,分享給大家供大家參考。具體分析如下:

首先看下面的代碼:

復制代碼 代碼如下:
using System;
 
namespace Test
{
    public class Base
    {
        public void Print()
        {
            Console.WriteLine(Operate(8, 4));
        }
 
        protected virtual int Operate(int x, int y)
        {
            return x + y;
        }
    }
}

namespace Test
{
    public class OnceChild : Base
    {
        protected override int Operate(int x, int y)
        {
            return x - y;
        }
    }
}

namespace Test
{
    public class TwiceChild : OnceChild
    {
        protected override int Operate(int x, int y)
        {
            return x * y;
        }
    }
}

namespace Test
{
    public class ThirdChild : TwiceChild
    {
    }
}

namespace Test
{
    public class ForthChild : ThirdChild
    {
        protected new int Operate(int x, int y)
        {
            return x / y;
        }
    }
}

namespace Test
{
    class Program
    {
        static void Main(string[] args)
        {
            Base b = null;
            b = new Base();
            b.Print();
            b = new OnceChild();
            b.Print();
            b = new TwiceChild();
            b.Print();
            b = new ThirdChild();
            b.Print();
            b = new ForthChild();
            b.Print();
        }
    }
}


運行結果為:
12
4
32
32
32

從結果中可以看出:使用override重寫之后,調用的函數是派生的最遠的那個函數,使用new重寫則是調用new之前的派生的最遠的函數,即把new看做沒有重寫似的。

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 郁南县| 读书| 邯郸市| 新乐市| 安国市| 思茅市| 阆中市| 江山市| 彭水| 井冈山市| 龙游县| 宁海县| 上虞市| 克东县| 兰西县| 伊吾县| 开远市| 炎陵县| 连云港市| 东阳市| 姚安县| 体育| 土默特右旗| 苏州市| 广河县| 杨浦区| 宁化县| 电白县| 嘉黎县| 凤凰县| 古蔺县| 海口市| 丰顺县| 永城市| 宾阳县| 舟曲县| 怀来县| 石家庄市| 永胜县| 垫江县| 大荔县|