对于新手了解重载的简介

7 篇文章 0 订阅
4 篇文章 0 订阅

一、什么是重载

方法重载是指在一个类中定义多个同名的方法,但要求每个方法具有不同的参数的类型或参数的个数。

之所以须要每个同名的方法都用不同的参数就是为了区分,否则会在编译中报错。
例如:

//java
	public class OverloadDemo {
       void test(){                           //test()方法第一次重载,没有参数
              System.out.println("无参数");
       }
       void test(int a){                      //test()方法第二次重载,一个整型参数
              System.out.println("a: "+a);
       }
       void test(int a,int b){                //test()方法第三次重载,两个整型参数
              System.out.println("a and b: "+a+" "+b);
       }
       double test(double a){                 //test()方法第四次重载,一个双精度型参数
              System.out.println("double a: "+a);
       }
	}
//C#(此为Unity中创建的C#文件)

    // Use this for initialization
	void Start()
    {
        Eat("红烧茄子","餐厅二楼");
    }
    // Update is called once per frame
	void Update()
    {
    }
	public void Eat(string what, int num)
    {
        Debug.Log("我要吃两份炒鸡蛋");
    }
	public void Eat(string what, string where)
    {
        Debug.Log("我要去" + where + "吃" + what);
    }
	public void Eat(string whst)
    {
        Debug.Log("我要吃炒鸡蛋");
    }

无非就是用同一个名字命名多个函数,并且每个函数的参数不同,让每个函数都区分开,可以随时调用任何一个。
萌新们不要有压力,这里并不难,只要理解后也就那样了。

二、重载的作用

  1. 方法重载的主要好处在于,可以不给一些不同的参数类型或参数个数,写多个函数。多个函数用同一个名字,但参数表,即参数的个数或(和)数据类型可以不同,调用的时候,虽然方法名字相同,但根据参数表可以自动调用对应的函数。我们可以发现在使用很多的方法重载时,在调用的时候,不需要记那么多的方法名称,而是知道了方法的功能就可以直接的给他传递不同的参数,编译器会明确的知道我们调用了哪一个方法。减少了很多判断部分的代码。

  2. 重载的最直接作用是方便了程序员可以根据不同的参数个数,顺序,类型,自动匹配方法,减少写过个函数名或方法名的重复步骤。

三、什么时候用重载

在我看来,即使重载异界学会,并且可以在编译软件中写出重载,但是最关键的我还是认为在什么时候用重载是最重要的。

百度的回答是:

  1. 重载是多态的集中体现,在类中,要以统一的方式处理不同类型数据的时候,可以用重载。
  2. 重写的使用是建立在继承关系上的,子类在继承父类的基础上,增加新的功能,可以用重写。

我认为这些说的有些广泛,让人有一种听不懂的感觉,我的愚见是:

  • 在写多个类,并且这些类比较类似,只不过是用的参数不同,或者是需要用的参数在一个类中表达不出来,这种情况我认为用重载在合适不过。

感谢大家的关注,博主收到了😋,我深刻的体会到了那句话:
你们的关注是我写下去的动力。 😘

  • 14
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值