当前位置: 首页 > news >正文

南京网站设计公司大全做网站程序员都要先做维护么

南京网站设计公司大全,做网站程序员都要先做维护么,天津网约车驾驶员申请系统,给孩子做的饭网站前言 前面我们已经完成了ref和out补充知识点的学习,以及函数参数相关的学习,今天便再次为函数补充一个知识点:函数重载。 函数重载是指在同一个作用域中,可以有多个同名函数,但参数列表不同。它的发展可以追溯到早期…

前言

前面我们已经完成了ref和out补充知识点的学习,以及函数参数相关的学习,今天便再次为函数补充一个知识点:函数重载。

函数重载是指在同一个作用域中,可以有多个同名函数,但参数列表不同。它的发展可以追溯到早期的编程语言。

在早期的编程语言中,函数重载并不被支持。如果需要定义多个功能相似但参数不同的函数,需要为每一个函数提供不同的名称。这样会导致代码冗余,可读性降低。

随着编程语言的发展,函数重载开始得到支持。C++是第一个支持函数重载的编程语言,它的发展历程对函数重载的发展有重要影响。

C++的函数重载使得程序员可以使用相同的函数名来处理不同类型和数量的参数,从而提高了代码的可读性和可维护性。编译器会根据传递给函数的参数类型和数量来选择合适的函数进行调用。

随着时间的推移,函数重载在其他编程语言中也得到了支持。Java、C#、Python等主流编程语言都支持函数重载。

基本概念

在同一语句块中,函数名相同,参数数量不同,类型,顺序不同

最基本的例子,其实你可以点进console里(鼠标放到console这个方法处,然后按f12),可以看到它内部的方法构成,你会发现它本身也有函数重载。

以下是博主在console里截屏到的一些重载的方法。

作用

  1. 命名一组类似的函数,减少函数的数量,避免命名空间的污染
  2. 提升程序的可读性

实例

  • 重载和返回类型无关,又和参数类型,个数,顺序有关
  • 调用时,程序会自己根据传入的参数类型判断使哪一个

参数数量不同

class Program
{static void Main(string[] args){int result1 = Add(1, 2);int result2 = Add(1, 2, 3);Console.WriteLine("Result 1: " + result1); // 输出:3Console.WriteLine("Result 2: " + result2); // 输出:6Console.ReadLine();}static int Add(int num1, int num2){return num1 + num2;}static int Add(int num1, int num2, int num3){return num1 + num2 + num3;}
}

以上这个例子实现了Add方法的重载,可以看到,我们实现了多个数的相加,不过这个例子有点不妥当,因为真正要做到无限相加,其实我们有其他的方法实现,不过这个就留给你去思考了。

参数类型不同

using System;class Program
{static void Main(string[] args){int num1 = 5;float num2 = 3.5f;string str = "Hello, world!";MyFunction(num1);MyFunction(num2);MyFunction(str);Console.ReadLine();}static void MyFunction(int num){Console.WriteLine("You entered an integer: " + num);}static void MyFunction(float num){Console.WriteLine("You entered a float: " + num);}static void MyFunction(string str){Console.WriteLine("You entered a string: " + str);}
}

以上例子是实现了一个参数判断的方法,我们也可以直观感受到传不同参数系统的自动调用,建议你自己去实践一下。

参数数量相同但是顺序不同

using System;public class Speaker
{public void Speak(string message){Console.WriteLine("我说:" + message);}public void Speak(string message, string language){Console.WriteLine("我用" + language + "说:" + message);}public void Speak(int times, string message){Console.WriteLine("我重复" + times + "次说:" + message);}public void Speak(string message, int times){Console.WriteLine("我说" + message + times + "次");}
}public class Program
{public static void Main(string[] args){Speaker speaker = new Speaker();speaker.Speak("你好!");speaker.Speak("Hello!", "English");speaker.Speak(3, "再见!");speaker.Speak("Goodbye!", 2);}
}

以上例子实现一个说话方法的重载,我们其实就能感受到有时候数量相同但是顺序不同在实际开发中有什么作用,我们可能在某些使用上,不用太在乎参数顺序,就可以达到那个方法,但是如果要开发一个如此的函数,需要大量的重载,如果只有两个参数,只用写两种,但是如果有三个参数,就要写六种。

所以这大抵是方便后人的一种写法了。

ref和out

using System;class Program
{static void Main(string[] args){int a = 5;int b = 10;int result1 = Add(a, b);Console.WriteLine("Addition Result: " + result1); // Output: 15Subtract(ref a, out b);Console.WriteLine(a+b); // Output: 55double c = 2.5;double d = 3.5;double result3 = Add(c, d);Console.WriteLine("Addition Result: " + result3); // Output: 6.0}static int Add(int num1, int num2){return num1 + num2;}static double Add(double num1, double num2){return num1 + num2;}static void Subtract(ref int num1, out int num2){num2 = 10;num1 -= num2;}
}

以上这个例子,其实只是想告诉大家ref,和out修饰的变量其实完全可以当做一种新变量来看,也是可以参与到函数重载当中的。

总结

我们通过这些例子的学习,想毕你一定已经掌握了函数重载的相关内容,我相信你只要稍加练习,便能达到很熟练的程度。

不过不管知识点难或者简单,还是那句话,学习路上,戒骄戒躁,脚踏实地。

请期待我的下一篇博客!

http://www.yayakq.cn/news/366822/

相关文章:

  • 毕节市住房和城乡建设局网站网站策划是干嘛的
  • 国外网站后台模板什么是网络设计平台
  • 如何让搜索引擎快速收录网站男女做暧网站
  • 免费发布信息的网站平台网站网址相对路径如何设置
  • 电白网站开发公司h5源码下载
  • 北京网站建设制作哪家公司好淘宝网页设计多少钱
  • .net 企业网站源码医院网站制作公司
  • 网站侧导航前端开发和后端开发
  • 网站建设前的分析第一小节内容淄博网站建设团队
  • 医药网站建设需要注意点泉州网页设计制作
  • 深圳外文网站制作崇明手机网站建设
  • 网站文字大小代码什么网站能买建设摩托车
  • 诗敏家具网站是谁做的网站显示正在建设中
  • 网站建设与管理期末考试wordpress 英文 中文字体
  • 电商网站开发报价东莞seo优化
  • 济源市建设网站试玩网站建设
  • 电子商务毕业设计 网站建设网站开发需要人员
  • 如何建设淘宝网站wordpress 插件 pdf
  • 学交互设计网站域名解析查询入口
  • 手机低价购买网站湖南长沙新增病例最新消息
  • 网站开发费走什么科目seo建站优化推广
  • 包头网站建设多少钱大连工业大学研究生分数线
  • 网站空间换了 使用原有域名金华 网站建设
  • 创建企业手机微信网站门户社保网站哪里做转入
  • 找别人做网站的注意事项wordpress 国内插件
  • 开发门户网站报价推网站
  • 网站收录上万没有流量js网页设计大作业源代码
  • 做爰xo的视频网站试看广饶网站定制
  • 苏州市城乡建设局网站沈阳京科医院男科
  • 企业网站管理系统使用教程网络营销的优点