栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > .Net

C#中关于重载(overload)介绍(想了解的这儿都有)

.Net 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C#中关于重载(overload)介绍(想了解的这儿都有)

前言:在编程过程中,难免会遇到一种方法或者一种函数可以拥有不同的参数,这就是用到了重载,下面我们一起去探索重载的秘密:

重载overload:
  • 一.重载的含义:
  • 二.重载的分类:
    • 1.方法重载:
    • 2.函数重载:
    • 3.运算符重载:
  • 三.重载的特点:
  • 四.重载的作用:
  • 五.重载的注意事项:

一.重载的含义:

它是指我们可以定义一些名称相同的方法,通过定义不同的输入参数来区分这些方法,然后再调用时,我们可以根据参数类型不同去选择我们所需要的;

二.重载的分类: 1.方法重载:

在同一个类中,方法名称相同,但是参数列表不同(参数个数不同、参数类型不同、不同类型的排列顺序不同),称之为方法的重载,方法的重载不包含继承关系,重载不用考虑方法的返回值类型,重载类型顺序必须不同;
例如:

       class First
        {
            public void Study()
            {
                Console.WriteLine("我是没有参数的overload");
            }
            public void Study(string name)
            {
                Console.WriteLine("我是带有一个参数的overload  {0}", name);
            }
            public void Study(string name, int age)
            {
                Console.WriteLine("我是带有两个参数的overload  {0}  我创建了{1}个参数", name, age);
            }
            public void Study(string name, int age, string sex)
            {
                Console.WriteLine("我是带有三个参数的overload  {0}  我创建了{1}个参数  我想去  {2}", name, age, sex);
            }
        }


看看运行结果:

2.函数重载:

指一个类中构造函数也可以重载,只要符合重载的规则即可,重载函数常用来实现功能类似而所处理的数据类型不同的问题。不能只有函数返回值类型不同;
两个重载函数必须在下列一个或两个方面有所区别:
1、函数的参数个数不同。
2、函数的参数类型不同或者参数类型顺序不同,
举例:

          public First()
            {
                Console.WriteLine("我是第一个重载函数");
            }
            public First(int a)
            {
                Console.WriteLine("我是第{0}个重载函数",a);
            }
            public First(string a)
            {
                Console.WriteLine(a);
            }
             static void Main(string[] args)
        {
            First first = new First();
            First ff=new First(2);
            First dd = new First("我是第三个重载函数");
           Console.ReadLine();
        }

运行结果:

3.运算符重载:

重载运算符是具有特殊名称的函数,是通过关键字 operator 后跟运算符的符号来定义的。与其他函数一样,重载运算符有返回类型和参数列表,由于涉及到新的关键字,本重载将会在下文详细解释,敬请期待!!!

三.重载的特点:
  1. 名称相同,参数列表不同;
            public void Study()
            {
                Console.WriteLine("我是没有参数的overload");
            }
            public void Study(string name)
            {
                Console.WriteLine("我是带有一个参数的overload  {0}", name);
            }
            public void Study(string name, int age)
            {
                Console.WriteLine("我是带有两个参数的overload  {0}  我创建了{1}个参数", name, age);
            }
            public void Study(string name, int age, string sex)
            {
                Console.WriteLine("我是带有三个参数的overload  {0}  我创建了{1}个参数  我想去  {2}", name, age, sex);
            }
  1. 参数个数不同,参数类型不同;
      public void Study(string name, int age)
            {
                Console.WriteLine("我是带有两个参数的overload  {0}  我创建了{1}个参数", name, age);
            }
            public void Study(string name, int age, string sex)
            {
                Console.WriteLine("我是带有三个参数的overload  {0}  我创建了{1}个参数  我想去  {2}", name, age, sex);
            }
  1. 若参数的个数相同,那么参数类型的顺序必须不一样;
public void Study(string name,int age)
            {
                Console.WriteLine("我是带有一个参数的overload  {0}", name);
            }
            public void Study(string me, int e)
            {
                Console.WriteLine("我是带有两个参数的overload  {0}  我创建了{1}个参数", me, e);
            }

如果按照如上所写,会出现以下错误:也就是相同了

四.重载的作用:
  1. 重载的好处就是,不用为了对不同的参数类型或参数个数,而写多个函数。多个函数用同一个名字,但参数表,即参数的个数或数据类型可以不同,调用的时候,虽然方法名字相同,但根据参数表可以自动调用对应的函数。
  2. 重载的最直接作用是方便我们可以根据不同的参数个数,顺序,类型,自动匹配方法,减少写过个函数名或方法名的重复步骤。
五.重载的注意事项:
  1. 在使用重载时只能通过不同的参数样式。例如,不同的参数类型,不同的参数个数,不同的参数顺序(同一方法内的几个参数类型必须不一样,例如可以是fun(int, float), 但是不能为fun(int, int));
  2. 不能通过访问权限、返回类型进行重新加载;
  3. 方法的数目不会对重新加载造成影响;
  4. 对于继承来说,如果某一方法在父类中是访问权限是private,那么就不能在子类对其进行重载,如果定义的话,也只是定义了一个新方法,而不会达到重载的效果。

以上就是本次的主要内容了,若有不足还请指正…

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/909337.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号