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

做好公众号 网站建设seo站长工具 论坛

做好公众号 网站建设,seo站长工具 论坛,wordpress漏洞利用,网站建设的网络前言 前面我们已经完成了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.shuangfujiaoyu.com/news/21619.html

相关文章:

  • 高端网站开发的公司在线之家
  • 没有网站也可以做外贸吗深圳网络营销推广培训
  • wordpress 清空浏览量郑州专业seo哪家好
  • html5网站修改方法seo
  • 潍坊网站建设招商厦门关键词优化网站
  • 网站设计专业毕业论文seo整站优化公司持续监控
  • 做seo营销网站微博营销软件
  • 全国做网站最好的公司东莞百度seo排名
  • 做网站能收多少广告费郑州企业网站优化排名
  • 做菠菜网站代理犯法吗网页搜索优化
  • 电子商务以后能干什么seo技术团队
  • 做盗版网站的营销方式和渠道
  • 网站建设jutuibao中国产品网
  • 网站运营谁都可以做吗网络营销策略的特点
  • 北京企业网站建设网站搜索排名
  • 接收新网站如何做诊断360站长
  • 如何用二级域名做网站学电脑培训班多少一个月
  • 免费做网站的网址有哪些购物链接
  • 金融行业网站制作百度seo营销公司
  • 黑龙江省建设厅官方网站指数计算器
  • 保定网站设计制作超级seo助手
  • 顺德新网站制作推广优化关键词
  • 网站几个页面台州seo排名优化
  • 现在石家庄做网站的公司有哪几家企业建站要多少钱
  • 赣州模板建站开发培训机构在哪个平台找
  • 网站建设 好的公司长沙岳麓区
  • 个人网站建设如何赚钱键词优化排名
  • 北京高端网站设计公司百度客服中心人工电话
  • 中国著名摄影网站自己怎么优化关键词
  • 外贸网站开发开发百度极速版推广员怎么申请