函数 (概念,定义,重载,参数)
【摘要】
函数的概念:函数就是定义在类中具有特定功能的一段独立小程序。(函数也称方法)
函数的定义:函数可以帮助我们把功能性,逻辑性的代码进行封装,从而实现重复调用,提高了程序的复用性和效率。
定义函数的格式:
修饰符返回值类型 函数名 (参数类型 参数1,参数类型,参数2,...参数类型,参数n)
{
...
函数的概念:函数就是定义在类中具有特定功能的一段独立小程序。(函数也称方法)
函数的定义:函数可以帮助我们把功能性,逻辑性的代码进行封装,从而实现重复调用,提高了程序的复用性和效率。
定义函数的格式:
修饰符返回值类型 函数名 (参数类型 参数1,参数类型,参数2,...参数类型,参数n)
{
执行语句;
return 返回值;
}
- 函数名:函数的名字,一定要按照命名规范起名,表明函数的作用。
- 返回值:表示这个函数运行后最后的结果。
- 返回值类型:取决于返回值的类型。
- return:表示将返回值返回的动作,会把返回值返回到调用者;同时还能结束函数功能。
- 参数列表(小括号中的内容):定义这个函数所需要的参与运算的未知数据,并且每一个数据都要有相应的数据类型,可以理解为变量。
- 修饰符:修饰这是个什么样的函数,可以有多个修饰符。
- 函数体:函数运行的主体部分,以大括号表示作用范围。
函数的用法:我们常用的两种方法:直接调用,赋值调用。
注意 :函数的返回值有无要根据函数的具体功能而定,如果,没有返回值,那么返回值类型就写void,void 也是关键字。函数参数真实参与运算的是调用传入的实际参数,应能分别实参和形参这两种命名的区别。
函数的特点:
- 定义函数可以将功能代码进行封装。
- 定义函数便于对该功能进行复用。
- 函数的出现提高了代码的复用性。
- 函数只有被调用才会执行。
如果函数没有具体的返回值,返回值类型就用void来表示。那么函数中的return语句可以省略不写。
return有两个作用:1,返回值。2结束函数功能。如果带有返回值,则return关键字必不可少,并且注意多分支结构都必须写明返回。
函数中只能调用其他函数,不能在函数内定义函数。 定义函数时,函数的结果应该返回给调用者,交个调用者处理
函数的重载:
概念:重载(overload):同一个类中允许存在一个以上的同名函数,只要他们的参数个数或者参数类型不同即可;
-
public int add (int x, int y)//获取两个整数的和
-
{
-
return x + y;
-
}
-
-
//获取两个小数的和
-
public double add(double x, double y)
-
{
-
return x + y;
-
}
-
-
//获取三个整数的和
-
public int add (int x,int y, int z)
-
{
-
return x + y + z;
-
}
-
class Demo
-
{
-
static voidMain(string[] args)
-
{
-
Add( 1,2 ,1 ); //第三个参数1 将取代原有参数的区别
-
Add( 1,2 ); //第三个参数没有,则默认输入可选参数
-
}
-
-
static int Add(inta,int b ,int c = 0 ) //可选参数的写法
-
{
-
System.Console.Print("a :{0},b:{1},c:{2} ",a,b,c);
-
}
-
}
函数重载和可选参数的区别:
可选参数,是在声明方法的某个参数的时候为其指定一个默认值,在调用该方法的时候如果采用该默认值,你就无须指定该参数.换句话说,在没有明确指定该参数值时,函数将自动使用预先指定的默认值。
可选参数实例:
所有可选参数必须写在普通参数的右边,如果写在普通参数的左边,则会编译报错
重载匹配原则分析:
- 当调用者匹配类中具有重载函数时,先找出符合参数个数的所有重载函数.
- 在符合参数个数的前提下,找到最符合类型的重载函数,如果没有,隐式转换后看是否负责匹配.
- 当符合条件的重载函数不止一个时,优先选择不带可选参数的重载函数.
重载实例:
-
class Demo
-
{
-
static voidMain(string[] args)
-
{
-
-
Add(1, 2, 1);
-
Add(1, 2, 5.0f);
-
Add(1.0f, 2.0f,5.0f);
-
Add(1, 2);
-
-
System.Console.ReadLine();
-
}
-
-
static void Add(int a,int b)
-
{
-
System.Console.WriteLine("第一个函数被调用!");
-
System.Console.WriteLine("a :{0} ,b :{1}, ", a, b );
-
}
-
-
-
static void Add(int a,int b, int c = 0)
-
{
-
System.Console.WriteLine("第二个函数被调用!");
-
System.Console.WriteLine("a :{0} ,b :{1},c :{2} ", a, b, c);
-
}
-
-
static void Add(int a,int b, float c)
-
{
-
System.Console.WriteLine("第三个函数被调用!");
-
System.Console.WriteLine("a :{0} ,b :{1},c :{2} ", a, b, c);
-
}
-
-
static void Add(doublea, double b, double c)
-
{
-
System.Console.WriteLine("第四个函数被调用!");
-
System.Console.WriteLine("a :{0} ,b :{1},c :{2} ", a, b, c);
-
}
-
}
文章来源: czhenya.blog.csdn.net,作者:陈言必行,版权归原作者所有,如需转载,请联系作者。
原文链接:czhenya.blog.csdn.net/article/details/76091936
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)