C#编程基础 笔记#6函数重载
什么是函数重载?
一般情况下,函数的名称是反映函数实际功能和任务。
C#语言中不允许存在一个类中定义多个同名函数。
为了解决这个矛盾微软提供了函数重载这个技术。
允许我们定义多个同名(函数名称)函数
重载允许我们在一个类中指定同一个函数的不同版本,这些函数都具有相同的名称(我们看来),仅仅由函数的签名来区分这些不同的版本。
函数签名是编译器去识别的。
================================
函数重载运用的条件是:
1、函数的参数类型不同
2、函数的参数顺序不同(形参的类型不同)
3、函数的参数个数不同
满足以上的三个条件就可以运用函数重载。
函数重载时,形参的名称要符合命名规则,但是最重要的是形参的类型,因为形参类型才是约束实参的规则。
函数重载的识别规则是:整个函数定义的头部不包含函数体。
函数签名示例:[访问修饰符] [static] 返回值类型 函数名称(形参列表) <<<<-----就是函数签名
编译器是通过函数的签名来区别函数重载的,这样编译器才可以准确的找到对应的函数,达到重载的目的。
=============================
函数重载的几种可能:
1、形参的个数不同,但类型相同,顺序相同,可以发生重载
2、形参类型不同,个数相同,顺序相同,可以发生重载
3、形参顺序不同,类型一定要不同,个数相同,可以发生重载
======================================
函数的几种形式:
1、有参数无返回值:[public] [static] void 函数名称(int num)
2、有参数有返回值: [public] [static] int 函数名称(int num)
3、无参数无返回值: [public] [static] void 函数名称()
4、无参数有返回值: [public] [static] int 函数名称()
以上就是函数的四种形式(写法)
=====================================
函数的动态数组参数:
1、参数的类型是一个数组类型
2、参数前面加上params关键字
满足以上的两个条件,就能够创建动态数组参数的函数
动态数组参数能够将函数的参数由有限个数变为无限个数
也就是说如果使用动态数组参数则函数的参数你可以随意的传任意个同类型参数
===================================
动态数组很方便,但是不是无限使用的,它是有一些限制的:
1、定义函数时参数列表中,最后一个
2、定义函数时,动态数组参数只能有一个。

浙公网安备 33010602011771号