函数 (概念,定义,重载,参数)

举报
陈言必行 发表于 2021/08/14 00:59:38 2021/08/14
【摘要】 函数的概念:函数就是定义在类中具有特定功能的一段独立小程序。(函数也称方法) 函数的定义:函数可以帮助我们把功能性,逻辑性的代码进行封装,从而实现重复调用,提高了程序的复用性和效率。 定义函数的格式: 修饰符返回值类型 函数名 (参数类型 参数1,参数类型,参数2,...参数类型,参数n) { ...
函数的概念:函数就是定义在类中具有特定功能的一段独立小程序。(函数也称方法)
函数的定义:函数可以帮助我们把功能性,逻辑性的代码进行封装,从而实现重复调用,提高了程序的复用性和效率。
定义函数的格式:
修饰符返回值类型 函数名 (参数类型 参数1,参数类型,参数2,...参数类型,参数n)
{
        执行语句;
        return 返回值;
}
  • 函数名:函数的名字,一定要按照命名规范起名,表明函数的作用。
  • 返回值:表示这个函数运行后最后的结果。
  • 返回值类型:取决于返回值的类型。
  • return:表示将返回值返回的动作,会把返回值返回到调用者;同时还能结束函数功能。
  • 参数列表(小括号中的内容):定义这个函数所需要的参与运算的未知数据,并且每一个数据都要有相应的数据类型,可以理解为变量。
  • 修饰符:修饰这是个什么样的函数,可以有多个修饰符。
  • 函数体:函数运行的主体部分,以大括号表示作用范围。
函数的用法:我们常用的两种方法:直接调用,赋值调用。
注意 :函数的返回值有无要根据函数的具体功能而定,如果,没有返回值,那么返回值类型就写void,void 也是关键字。函数参数真实参与运算的是调用传入的实际参数,应能分别实参和形参这两种命名的区别。
函数的特点
  • 定义函数可以将功能代码进行封装。
  • 定义函数便于对该功能进行复用。
  • 函数的出现提高了代码的复用性。
  • 函数只有被调用才会执行。
如果函数没有具体的返回值,返回值类型就用void来表示。那么函数中的return语句可以省略不写。
return有两个作用:1,返回值。2结束函数功能。如果带有返回值,则return关键字必不可少,并且注意多分支结构都必须写明返回。
函数中只能调用其他函数,不能在函数内定义函数。 定义函数时,函数的结果应该返回给调用者,交个调用者处理
函数的重载
概念:重载(overload):同一个类中允许存在一个以上的同名函数,只要他们的参数个数或者参数类型不同即可;

    
  1. public int add (int x, int y)//获取两个整数的和
  2. {
  3. return x + y;
  4. }
  5. //获取两个小数的和
  6. public double add(double x, double y)
  7. {
  8. return x + y;
  9. }
  10. //获取三个整数的和
  11. public int add (int x,int y, int z)
  12. {
  13. return x + y + z;
  14. }
 

    
  1. class Demo
  2. {
  3. static voidMain(string[] args)
  4. {
  5. Add( 1,2 ,1 ); //第三个参数1 将取代原有参数的区别
  6. Add( 1,2 ); //第三个参数没有,则默认输入可选参数
  7. }
  8. static int Add(inta,int b ,int c = 0 ) //可选参数的写法
  9. {
  10. System.Console.Print("a :{0},b:{1},c:{2} ",a,b,c);
  11. }
  12. }
函数重载和可选参数的区别:
可选参数,是在声明方法的某个参数的时候为其指定一个默认值,在调用该方法的时候如果采用该默认值,你就无须指定该参数.换句话说,在没有明确指定该参数值时,函数将自动使用预先指定的默认值。
可选参数实例:
所有可选参数必须写在普通参数的右边,如果写在普通参数的左边,则会编译报错
重载匹配原则分析:
  1. 当调用者匹配类中具有重载函数时,先找出符合参数个数的所有重载函数.
  2. 在符合参数个数的前提下,找到最符合类型的重载函数,如果没有,隐式转换后看是否负责匹配.
  3. 当符合条件的重载函数不止一个时,优先选择不带可选参数的重载函数.
重载实例:

    
  1. class Demo
  2. {
  3. static voidMain(string[] args)
  4. {
  5. Add(1, 2, 1);
  6. Add(1, 2, 5.0f);
  7. Add(1.0f, 2.0f,5.0f);
  8. Add(1, 2);
  9. System.Console.ReadLine();
  10. }
  11. static void Add(int a,int b)
  12. {
  13. System.Console.WriteLine("第一个函数被调用!");
  14. System.Console.WriteLine("a :{0} ,b :{1}, ", a, b );
  15. }
  16. static void Add(int a,int b, int c = 0)
  17. {
  18. System.Console.WriteLine("第二个函数被调用!");
  19. System.Console.WriteLine("a :{0} ,b :{1},c :{2} ", a, b, c);
  20. }
  21. static void Add(int a,int b, float c)
  22. {
  23. System.Console.WriteLine("第三个函数被调用!");
  24. System.Console.WriteLine("a :{0} ,b :{1},c :{2} ", a, b, c);
  25. }
  26. static void Add(doublea, double b, double c)
  27. {
  28. System.Console.WriteLine("第四个函数被调用!");
  29. System.Console.WriteLine("a :{0} ,b :{1},c :{2} ", a, b, c);
  30. }
  31. }

 

文章来源: czhenya.blog.csdn.net,作者:陈言必行,版权归原作者所有,如需转载,请联系作者。

原文链接:czhenya.blog.csdn.net/article/details/76091936

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。