C#为什么非要把函数叫方法?

这篇具有很好参考价值的文章主要介绍了C#为什么非要把函数叫方法?。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

引子

"某呼"网友提问“C#为什么非要把函数叫方法?”,看到这个问题还真不知道怎么回答。要想知道C#为什么叫方法,还得从传统面向过程语言说起。

方法的由来

函数(function)是面向过程编程语言里,对可以独立调用代码段的另一种叫法,因为通常有数个输入和一个输出,很像数学里的那个函数。比如C语言中的函数。方法名称的出现主要是针对面向对象语言,方法是对象的动作和行为描述。而C#是面向对象语言,所以叫方法。

C#中的方法

在C#中,函数被称为方法,这是为了强调函数在面向对象编程中的概念。在面向对象编程中,方法是类或结构体的一个成员,它可以用来实现类或结构体的行为。

在C#之前的编程语言中,函数通常被称为子程序或过程。这些名称强调了函数作为独立代码块的概念。然而,在面向对象编程中,函数不再是独立的代码块,而是类或结构体的一个成员。因此,使用“方法”这个名称更能体现函数在面向对象编程中的概念。

此外,C#的设计者还希望将C#与其他面向对象编程语言保持一致。在Java、C++、Python等语言中,函数也被称为方法。因此,C#使用“方法”这个名称也是为了保持与这些语言的一致性。

争议

当然,也有人认为使用“方法”这个名称会导致混淆。因为“方法”这个名称在日常生活中也有其他含义。例如,在数学中,“方法”可以指一种解决问题的途径。在科学研究中,“方法”可以指一种实验或研究的步骤。因此,有些人认为使用“方法”这个名称会导致人们对函数的概念产生误解。

结语

C#使用“方法”这个名称还是有其合理性的。它可以更好地反映函数在面向对象编程中的概念,并与其他面向对象编程语言保持一致。你对方法的名称有什么看法?欢迎留言讨论这个话题。

参考:百度百科,wei基百科等


来源公众号:DotNet开发跳槽❀文章来源地址https://www.toymoban.com/news/detail-706220.html

到了这里,关于C#为什么非要把函数叫方法?的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 浅析 C# Console 控制台为什么也会卡死

    在分析旅程中,总会有几例控制台的意外卡死导致的生产事故,有经验的朋友都知道,控制台卡死一般是动了 快速编辑窗口 的缘故,截图如下: 虽然知道缘由,但一直没有时间探究底层原理,市面上也没有对这块的底层原理介绍,昨天花了点时间简单探究了下,算是记录分

    2024年02月08日
    浏览(50)
  • Fragment为什么不用构造函数传递参数?

    Fragment 的构造方法通常不建议直接传递参数。我们先来看一下Fragment源码: 在源码中会发现,Fragment的构造函数是空的,所以他和普通类的创建对象的方式不太一样。接着我们看源码:

    2024年01月24日
    浏览(63)
  • 为什么很多人禁用拷贝(复制)构造函数

    关于C++的拷贝构造函数,很多的建议是直接禁用。为什么大家会这么建议呢?没有拷贝构 造函数会有什么限制呢?如何禁用拷贝构造呢?这篇文章对这些问题做一个简单的总结。 这里讨论的问题以拷贝构造函数为例子,但是通常赋值操作符是通过拷贝构造函数来实现 的(

    2024年02月01日
    浏览(55)
  • 为什么使用ioutil.ReadAll 函数需要注意

    当我们需要将数据一次性加载到内存中, ioutil.ReadAll 函数是一个方便的选择,但是 ioutil.ReadAll 的使用是需要注意的。 在这篇文章中,我们将首先对 ioutil.ReadAll 函数进行基本介绍,之后会介绍其存在的问题,以及引起该问题的原因,最后给出了 ioutil.ReadAll 函数的替代操作。

    2024年02月13日
    浏览(36)
  • 什么是栈,为什么函数式编程语言都离不开栈?

    ​ 栈是一种具有特殊访问方式的存储空间,它的特殊性在于, 最后进入这个空间的数据,最先出去 ,可以画图来描述一下这种操作方式。 假设有一个盒子和三本书,依次将三本书他们放入盒子中。 入栈模拟图 ​ 现在有一个问题,如果一次只能取一本,我们如何将书从盒子

    2024年02月06日
    浏览(54)
  • 为什么 Python 代码在函数中运行得更快?

    哈喽大家好,我是咸鱼 当谈到编程效率和性能优化时,Python 常常被调侃为“慢如蜗牛” 有趣的是,Python 代码在函数中运行往往比在全局范围内运行要快得多 小伙伴们可能会有这个疑问:为什么在函数中运行的 Python 代码速度更快? 今天这篇文章将会解答大家心中的疑惑 原

    2024年02月08日
    浏览(49)
  • 为什么js中不推荐使用eval函数

    \\\'eval\\\'函数是javascript中的一个内置函数,它的主要作用是将传入的字符串作为代码来执行。换句话说,\\\'eval\\\'可以将动态生成的字符串当作javascript代码来执行,并返回执行结果。 我的理解就是它可以执行传入的代码,并返回执行结果。 \\\'eval\\\'可以执行任何传入的字符串,所以意味

    2024年02月08日
    浏览(41)
  • C++中为什么不能把所有函数都设置成虚函数?

    在面试的时候被问到一个问题,既然虚函数可以不被重写,为什么不把所有的函数都设置成虚函数? 我当时的回答是,因为对于工程来说,一个类里可能会有很多的函数,都设置成虚函数的话会有很多不必要的开销(虚函数表)。但总觉得回答不够完善,所以闲下来去了解了

    2023年04月12日
    浏览(33)
  • 为什么不推荐在头文件中直接定义函数?

    在C++中,函数的分文件编写是一种让代码结构更加清晰的方法,通常可以分为以下几个步骤: 创建后缀名为 .h 的头文件,在头文件中写函数的声明,以及可能用到的其他头文件或命名空间 创建后缀名为 .cpp 的源文件,在源文件中写函数的定义,同时引入自定义头文件,将头

    2024年02月16日
    浏览(40)
  • Vue-33、Vue中为什么使用render函数

    1、main.js 2、查看引入vue 引入的dist/vue.runtime.esm.js 查看vue.runtime.esm.js 大小 此时引入的是残缺的Vue 无模板解析器。打包之后体积小一点。 而render: h = h(App), 可以进行模板解析。

    2024年01月23日
    浏览(31)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包