不管是面向过程还是面向对象。软件开发中,我们都不能脱离“函数”。
什么是函数?不同的人有不同的理解。下面我就谈谈我的理解:
y=f(x)这就是函数。x是参数,y是函数的返回结果,f是函数名。软件开发中,我们也是这样用的。如果没有x,那就是无参函数;没有f,那就是匿名函数;没有y,那就是带副作用的函数(函数式编程中,认为返回void的函数是带副作用的函数)。如果,x,f,y都没有,那就是个空函数。
面向对象中,站在对象自身的角度,一个对象拥有了函数才拥有了行为。站在总体系统的角度,一个对象的函数就是他能够提供的服务。一个没有函数的对象,往往代表某一种值,所以称为值对象,这种对象只拥有getter/setter方法。之所以没有公开属性,而是提供getter/setter方法,一个比较重要的原因是可以将对于对象属性的查询和修改权限分离。不可小看getter/setter方法,因为它代表了函数的两种基本类型:一类函数是用于改变状态的setter型函数,另一类是用于查询状态的getter型函数。一个没有属性,只有函数的对象,往往是对外提供的一些工具对象,无状态的对象只提供服务,而且不会有多线程并发问题。真是广大人民群众喜闻乐见的一种方式,可是又被面向对象的大师批判为打着面向对象的旗号干着面向过程的勾当。由此,面向对象的函数式编程,成了现在比较热的话题。很多新兴的语言也都基于此发展起来。
函数式编程将函数视为第一类对象。他们是一等公民,拥有千变万化的身份。它可以是服务,可以是参数,甚至可以是返回值。这种编程方式以去掉所有变量,去掉函数副作用为目标。为未来的多核计算,云计算做准备。
其实这些概念早在很久以前就已经存在了。但是历史就是这样螺旋上升式的发展,我们总能在最新的技术中看到历史的影子。
关于函数的话题,先胡说到这吧。回家了!!~~~~~
分享到:
相关推荐
每个类都具有构造函数和析构函数。其中,构造函数在定义对象时被调用,析构函数在对象释放时被调用。如果用户没有提供构造函数和析构函数,系统将提供默认的构造函数和析构函数。 1.构造函数 构造函数是一个与类同名...
函数名称 功能描述 表达式用法 abs 绝对值函数 abs(x) 6 sin 正弦函数 sin(x) cos 余弦函数 cos(x) tan 正切函数 tan(x) asin 反正弦函数 asin(x) acos 反余弦函数 acos(x) atan 反正切函数 atan(x) atan2 ...
此外,Cicode函数还包括通信函数、设备函数、显示函数、DLL函数、错误函数、事件函数、文件函数、格式函数、FTP函数、模糊逻辑函数、组函数、图形函数、I/O设备函数、键盘函数、邮件函数、数学函数、杂项函数、页面...
WinCC标准函数C语言 WinCC标准函数是WinCC系统中的一个重要组件,提供了一系列的标准函数,用于控制和操作WinCC报警控件。这些函数可以根据需要进行修改和扩展,还可以创建自己的标准函数。 Alarm函数集是WinCC...
本资料“Excel函数速查 chm”涵盖了多个领域的函数,包括数学和三角函数、统计函数、文本和数据函数以及财务函数等,总计超过200条函数介绍。下面将对这些函数类别进行详细的解释和说明。 一、数学和三角函数(60条...
### C++将类的成员函数作为回调函数 #### 背景与问题 在C++编程中,回调函数是一种常见的设计模式,它允许程序在特定的事件或条件下调用一个预先注册的函数。然而,当涉及到类的成员函数时,事情变得稍微复杂了...
Excel 函数大全是一个庞大的函数库,涵盖了多个领域,包括数据库函数、日期时间函数、外部函数、工程函数、财务函数、信息函数、逻辑运算符、查找与引用函数、数学和三角函数、统计函数、文本与数据函数等。...
本文将深入探讨如何在PostgreSQL中创建自定义函数,特别是在使用C语言编写动态库来实现这一功能时的简单示例。 首先,我们需要理解自定义函数在PostgreSQL中的作用。自定义函数允许用户根据特定需求扩展数据库的...
复变函数是数学领域的一个重要分支,主要研究的是复数域上的解析函数。钟玉泉教授在这一领域有着深入的研究和独特的见解。复变函数理论不仅在纯数学中占有核心地位,还在工程、物理、经济等多个领域有广泛的应用。...
非常好的 概率论中 关于特征函数 和 矩母函数的介绍;
复变函数论是一门数学分支,它主要研究复数域上的函数,特别是那些在复数域的某个区域内具有导数的函数,即解析函数。复变函数论的核心是复分析,其理论框架和方法论不仅在数学内部,如几何、数论、偏微分方程等领域...
高斯函数+二分法求反函数,,,程序设计导论——————Python语言实现,课本习题。
Part A主要包含无约束单目标优化问题,这些问题通常涉及连续函数,有的是全局优化的经典难题,如高斯函数、鞍点问题、多模态函数等。这些函数设计的目标是测试算法在处理不同特性的函数时的表现,例如全局搜索能力、...
《WindowsAPI函数参考手册》是2002年人民邮电出版社出版的图书,作者是《windowsapI函数参考手册》组。《Windows API 函数参考手册》是关于Microsoft Win32 API函数的完整参考手册。书中详细介绍了每一个Win32 API...
在MATLAB环境中,基准测试函数通常用于评估和比较不同优化算法的性能。这些函数具有已知的特性,如全局最小值、局部最小值、多模态等,可以帮助我们理解算法在处理复杂问题时的行为。本资源包含24个这样的函数,它们...
在这个"fastreport4.5函数大全"中,每个函数都配以实例,方便开发者理解和应用。 1. **函数概述** FastReport中的函数主要分为几个类别:数据操作、格式转换、数学运算、字符串处理、日期时间处理等。这些函数可以...
通信原理里的Q函数表,Q函数曲线及Q函数误差函数表
《特殊函数概论》较系统地讲述了一些主要的特殊函数,如超几何函数、勒让德函数、合流超几何函数、贝塞耳函数、椭圆函数、椭球谐函数、马丢(Mathieu)函数等。同时也阐明一些在讨论特殊函数时常用的概念和理论,如...
《C/C++详细函数大全》是一部综合性的编程资源,涵盖了C和C++语言中的各种函数,旨在为学习者提供详尽的函数介绍、说明及代码示例。此资源源自某培训学校的教学材料,以CHM(Compiled HTML Help)格式呈现,这种格式...
小波分析的核心是小波基,它包括尺度函数(Scaling Function)和小波函数(Wavelet Function)。这两个概念是理解小波理论的关键。 尺度函数是小波分析的基础,它在不同尺度上提供了信号的近似表示。在MATLAB中,...