c#继承中的函数调用实例

 更新时间:2015年01月10日 10:43:20   投稿:shichen2014  
这篇文章主要介绍了c#继承中的函数调用,实例分析了C#继承中的函数调用规律,有助于深入理解C#的继承,需要的朋友可以参考下

本文实例讲述了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#程序设计有所帮助。

相关文章

  • C#多线程中如何运用互斥锁Mutex

    C#多线程中如何运用互斥锁Mutex

    这篇文章主要为大家详细介绍了C#多线程中如何运用互斥锁Mutex,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-06-06
  • C#使用正则表达式抓取网站信息示例

    C#使用正则表达式抓取网站信息示例

    这篇文章主要介绍了C#使用正则表达式抓取网站信息,结合实例形式分析了C#针对网页信息的正则抓取操作相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2017-01-01
  • C#中使用 record 的好处和最佳场景

    C#中使用 record 的好处和最佳场景

    这篇文章主要介绍了C#中使用 record 的好处,使用 record 类型的主要好处包括简洁的语法、自动生成的成员、基于值的相等性、非破坏性复制、解构支持、继承支持和与模式匹配的良好集成,需要的朋友可以参考下
    2024-07-07
  • 详解如何利用C#实现汉字转拼音功能

    详解如何利用C#实现汉字转拼音功能

    这篇文章主要为大家详细介绍了如何利用C#实现汉字转拼音的功能,文中的示例代码讲解详细,对我们学习C#有一定的帮助,感兴趣的小伙伴可以跟随小编一起了解一下
    2022-12-12
  • Unity中3DText显示模糊不清的解决方案

    Unity中3DText显示模糊不清的解决方案

    这篇文章主要介绍了Unity中3DText显示模糊不清的解决方案,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-04-04
  • C#实现简单的计算器功能

    C#实现简单的计算器功能

    这篇文章主要为大家详细介绍了C#实现简单的计算器功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-01-01
  • C#连接Oracle数据库的实例方法

    C#连接Oracle数据库的实例方法

    C#连接Oracle数据库的实例方法,需要的朋友可以参考一下
    2013-04-04
  • c#实现一个超实用的证件照换底色小工具(附源码)

    c#实现一个超实用的证件照换底色小工具(附源码)

    这篇文章主要给大家介绍了关于利用c#实现一个超实用的证件照换底色小工具的相关资料,通过这个小工具大家可以很方便的进行底色的切换,不用再因为底色的原因头疼了,需要的朋友可以参考借鉴,下面来一起学习学习吧。
    2018-01-01
  • C#获取硬盘序列号的问题小结

    C#获取硬盘序列号的问题小结

    本文给大家分享C#获取硬盘序列号的问题及解决方法,非常不错,需要的朋友参考下
    2016-12-12
  • C#中数组、ArrayList和List三者的区别详解及实例

    C#中数组、ArrayList和List三者的区别详解及实例

    这篇文章主要介绍了C#中数组、ArrayList和List三者的区别详解及实例的相关资料,需要的朋友可以参考下
    2016-12-12

最新评论