谈谈函数返回值为什么不能重载

一、函数的定义:

      函数将有效的输入值变换为唯一的输出值,同一输入总是对应同一输出

      计算机本质是对抽象数学公式的具体实现,并以此具体实现来解决现实生活中的实际问题。

注:wiki百科对 “函数” 的定义如图,图比较大,请点击打开详情,左右拖动查看 全部内容。

二、悖论

     反过来设想一下,如果返回值的类型 能用来 重载,那么对于相同的输入值,程序怎么决定到底应该调用哪一个重载的方法?   况且即使有方法判定执行哪一个重载方法,那么必然 相同的输入值  可能 有 不同的 输出值,  这违反了  数学概念中  对 函数的定义 。

三、数学概念为什么要求“同一输入总是对应同一输出”

        至于 数学概念中 为什么要 这样定义?   这是一种对复杂问题分步处理的 思想。 

       原因: 世间万事万物本来就相互之间具有复杂的关系, A 影响 B,同时 B 同时影响 A和 C,C 又能影响 A,这种超级复杂的问题对于人脑来说,是相当难以理解的。
       思想:这时就需要数学这一工具,来将复杂的问题分解成多个互不干扰简单的问题。 怎样让简单的问题互不干扰呢?重要标志之一就是函数结果要求唯一性。
       举例:一个复杂的问题y 分解为三个步骤,此时可用函数描述 y = f3(f2(f1(x))),如果 f1不将自己应该处理的问题彻底处理干净的话,那就会影响f2的逻辑,不能做到步骤之间互不干扰。f1干扰 f2的逻辑,f2又干扰 f3的逻辑,这对于解决复杂问题 y 来说,本质还是一团乱麻、混球,难以让人脑理解处理。

      通俗举例:就像我们去商店 买 某一品牌的衣服,  我只需要知道这个衣服 是这个 品牌生产出来的就行 , 我并不需要关注 它是 哪一个代工厂、哪一个工人、哪一天生产出来的,  只要这个品牌是确定的,对于我来说就没有问题。 顾客要确定的是这件事的结果,结果必须具有唯一性。

       总结:返回值  是  对外 沟通 的 唯一结果,   如果对外的结果 不能 唯一,    那么说明这一步的处理还没有完成,还需要相关的协同步骤来继续处理,  直到它能做到 “同一输入总是对应同一输出”。  那么 这一步处理 就算完成了,可以进入 事情 的下一步了。

 

 

  • 4
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值