不管是面向过程还是面向对象。软件开发中,我们都不能脱离“函数”。
什么是函数?不同的人有不同的理解。下面我就谈谈我的理解:
y=f(x)这就是函数。x是参数,y是函数的返回结果,f是函数名。软件开发中,我们也是这样用的。如果没有x,那就是无参函数;没有f,那就是匿名函数;没有y,那就是带副作用的函数(函数式编程中,认为返回void的函数是带副作用的函数)。如果,x,f,y都没有,那就是个空函数。
面向对象中,站在对象自身的角度,一个对象拥有了函数才拥有了行为。站在总体系统的角度,一个对象的函数就是他能够提供的服务。一个没有函数的对象,往往代表某一种值,所以称为值对象,这种对象只拥有getter/setter方法。之所以没有公开属性,而是提供getter/setter方法,一个比较重要的原因是可以将对于对象属性的查询和修改权限分离。不可小看getter/setter方法,因为它代表了函数的两种基本类型:一类函数是用于改变状态的setter型函数,另一类是用于查询状态的getter型函数。一个没有属性,只有函数的对象,往往是对外提供的一些工具对象,无状态的对象只提供服务,而且不会有多线程并发问题。真是广大人民群众喜闻乐见的一种方式,可是又被面向对象的大师批判为打着面向对象的旗号干着面向过程的勾当。由此,面向对象的函数式编程,成了现在比较热的话题。很多新兴的语言也都基于此发展起来。
函数式编程将函数视为第一类对象。他们是一等公民,拥有千变万化的身份。它可以是服务,可以是参数,甚至可以是返回值。这种编程方式以去掉所有变量,去掉函数副作用为目标。为未来的多核计算,云计算做准备。
其实这些概念早在很久以前就已经存在了。但是历史就是这样螺旋上升式的发展,我们总能在最新的技术中看到历史的影子。
关于函数的话题,先胡说到这吧。回家了!!~~~~~
分享到:
相关推荐
在MATLAB中,隶属函数是模糊逻辑系统中的关键概念,用于描述模糊集合中元素的“模糊程度”。这篇详尽的讲解将深入探讨如何在MATLAB环境中编写和计算隶属函数,以及它们在实际应用中的作用。 一、隶属度函数概念 ...
函数名称 功能描述 表达式用法 abs 绝对值函数 abs(x) 6 sin 正弦函数 sin(x) cos 余弦函数 cos(x) tan 正切函数 tan(x) asin 反正弦函数 asin(x) acos 反余弦函数 acos(x) atan 反正切函数 atan(x) atan2 ...
Apache特定函数库 图形函数库 GNU记录函数库 数组函数库 IMAP,POP3和NNTP函数库 Perl相容正规表达函数库 拼字检查函数库 LDAP函数库 正规表达函数库 BC高精准度函数库 邮件函数库 信号与共享记忆体函数库 历法...
strcmp函数strcmp函数strcmp函数strcmp函数strcmp函数strcmp函数strcmp函数strcmp函数strcmp函数strcmp函数strcmp函数strcmp函数strcmp函数strcmp函数strcmp函数strcmp函数strcmp函数strcmp函数strcmp函数strcmp函数...
已删除的函数还可为您提供简单语言,以防止所有类型的函数(特殊成员函数和普通成员函数以及非成员函数)的参数中出现有问题的类型提升,这会导致意外的函数调用。 显式默认设置的函数和已删除函数的好处 在 C++ 中...
预测函数控制(Predictive Function Control, PFC)是一种先进的控制策略,它利用对未来系统行为的预测来优化控制器的输出。S函数,全称Simulink Function,是MATLAB Simulink环境中的一种特殊模块,用于定义自定义...
此外,Cicode函数还包括通信函数、设备函数、显示函数、DLL函数、错误函数、事件函数、文件函数、格式函数、FTP函数、模糊逻辑函数、组函数、图形函数、I/O设备函数、键盘函数、邮件函数、数学函数、杂项函数、页面...
C++中一般创建对象,拷贝或赋值的方式有构造函数,拷贝构造函数,赋值函数这三种方法。下面就详细比较下三者之间的区别以及它们的具体实现 1.构造函数 构造函数是一种特殊的类成员函数,是当创建一个类的对象时,它...
WinCC标准函数C语言 WinCC标准函数是WinCC系统中的一个重要组件,提供了一系列的标准函数,用于控制和操作WinCC报警控件。这些函数可以根据需要进行修改和扩展,还可以创建自己的标准函数。 Alarm函数集是WinCC...
基准测试函数中的griewank函数代码
由特定微分方程的解定义的特殊函数有正交多项式(如Chebyshev、Laguerre和Hermite多项式),Gamma函数,Legendre函数类,Bessel函数(如球Bessel、变型Bessel、Ricatti-Bessel函数等),Kelvin函数,Airy函数,...
在机器学习领域,核函数(Kernel Function)是一种强大的工具,用于将原始数据转换到高维空间,以便在非线性可分的情况下实现分类或回归。MATLAB作为一种强大的数学计算软件,提供了丰富的核函数库,使得研究人员和...
本资料“Excel函数速查 chm”涵盖了多个领域的函数,包括数学和三角函数、统计函数、文本和数据函数以及财务函数等,总计超过200条函数介绍。下面将对这些函数类别进行详细的解释和说明。 一、数学和三角函数(60条...
在IT领域,尤其是在优化算法和人工智能的研究中,测试基准函数起着至关重要的作用。"算法测试基准函数"是一组专门设计用于评估和比较不同智能算法性能的数学模型。这些函数通常具有不同的特性,如多模态、非线性、...
Excel 函数大全是一个庞大的函数库,涵盖了多个领域,包括数据库函数、日期时间函数、外部函数、工程函数、财务函数、信息函数、逻辑运算符、查找与引用函数、数学和三角函数、统计函数、文本与数据函数等。...
Excel用得好不好,函数用得溜不溜,是重要的判断标准之一。从简单的加减乘除四则运算,再到复杂的财务税收计算、工程计算或是数学计算,都用得到函数。Excel中,内置了财务、逻辑、文本、日期、时间、查找、引用、...
《WindowsAPI函数参考手册》是2002年人民邮电出版社出版的图书,作者是《windowsapI函数参考手册》组。《Windows API 函数参考手册》是关于Microsoft Win32 API函数的完整参考手册。书中详细介绍了每一个Win32 API...
复变函数是数学领域的一个重要分支,主要研究的是复数域上的解析函数。钟玉泉教授在这一领域有着深入的研究和独特的见解。复变函数理论不仅在纯数学中占有核心地位,还在工程、物理、经济等多个领域有广泛的应用。...
Part A主要包含无约束单目标优化问题,这些问题通常涉及连续函数,有的是全局优化的经典难题,如高斯函数、鞍点问题、多模态函数等。这些函数设计的目标是测试算法在处理不同特性的函数时的表现,例如全局搜索能力、...
复变函数论是一门数学分支,它主要研究复数域上的函数,特别是那些在复数域的某个区域内具有导数的函数,即解析函数。复变函数论的核心是复分析,其理论框架和方法论不仅在数学内部,如几何、数论、偏微分方程等领域...