当前位置: 首页 > 网络应用技术

浅功能编程

时间:2023-03-08 21:30:03 网络应用技术

  高中的一年级应该是第一个接触功能概念的时代。这是非常令人印象深刻的。毕竟,这是大学入学考试结局的主题,但这是第二章的内容。

  让我们看一下强制性的功能:$ $ y = f(x)$ $上述功能由三个部分组成:

  函数的定义是:自变量x,在规则f(x)的操作后,获得变量。规则f(x)称为函数

  上面的功能具有一个数学术语,称为一个 - 美元函数$ y = f(x1,x2)$ $如上所述。它称为二进制函数。自变量的数量确定了此功能的名称。

  该功能的概念也已在计算机领域引入。许多语言已经在功能性语法中构建,以帮助我们实现类似于数学功能的功能。

  让我们看一下功能的定义

  这是C语言中定义的语法规则。可以看出,它与数学功能完全相同。它被传递到计算机中的自变量X。它称为参数。同时,它在功能内部。添加操作并返回。此时,此加法操作是数学中的规则f(x),返回值是由于可变的y

  同样,上述函数称为一个元函数,因为他只有一个参数。

  以同样的方式,两个参数称为二进制函数,依此类推。

  各种编程语言提供了各种函数定义方法,但其本质与上述函数完全相同,但是定义方法已更改。

  那些编写OOP具有经验的人,将课程用作实现功能的最小调度单元,并且需要定义这些数据结构的某些数据结构和操作。

  基于此,设计模式的代码重复使用规则。设计模式的出现是解决OOP带来的一些缺点,并在一定程度上重复使用方法级别。

  功能编程(以后使用FP)对非降级的关注。就像数学函数一样,只要您的输入参数相同,您的返回值就必须相同。他不会更改所有变量,并且只会返回新变量,这也意味着它没有线程安全问题。

  我了解到,一些支持FP的学生一定已经在相关书籍中看到了一句话:该功能是第一个阶级公民,支持FP语言,并且作为数据类型存在。

  当功能成为数据类型时,我们经常使用的许多设计模式都会有其他游戏玩法。

  战略策略设计模式用于解决IF |在参数的同一情况下,直接查看类图

  以上是一个典型的OOP想法。让我们看一下FP下的代码的代码实现

  模板方法模板方法,保留一些扩展名(方法)将其留在子尺度上,例如生命周期函数。

  FP功能代码实现:

  可以发现,无论是策略还是模板设计模式,它都将函数用作数据类型,然后替换OOP中的继承。但是,对于一个函数,参数的数量已成为问题。为了实现函数,我们可以依靠多个外部参数。目前,它盲目地通过了后续代码的维护和扩展。以这种方式使用功能编程的特征也是诞生的。

  封闭的概念来自前端。在流行的术语中,闭合是函数中所有变量(包括参数)的组合。

  当函数创建函数时,默认值将创建闭合,例如像类型这样的构造函数。

  一个问题:是否可以关闭函数,而没有返回值?

  答:存在,没有什么可用的

  上面提到的多参数问题,让我们看一下一件代码

  可以看出,func1返回函数func2,func2函数访问func1函数的参数。实现这取决于闭合。

  FUNC3此时引用了func22.continue致电func3,以获取func1的最终处理结果。

  该函数将函数称为两个部分,如果将其编写在一起。

  func1(1)(2)撰写本文的好处在哪里?

  该变形的调用方法具有功能编程中的术语Corric。

  从1.8开始,JDK提供了来自语言级别的一些功能来在Java字段中编写一些功能编程。

  该函数作为参数Java 1.8提供了注释。其定义是:内部只有一个抽象方法接口,并且可以将其声明为功能接口。在同一时间,还提供了一些通用类来实现功能编程。

  在图的顶部,有四个基本函数接口。这三个类都包装到了课堂上。课程没有回报值。返回值是布尔值,并且类没有参数。类是标准函数接口,并查看其定义。

  可以看出,他在内部提供抽象功能,接受通用类型并返回通用。这是最标准的一个元素函数(仅一个参数)。

  然后,问题是,如果我需要两个参数JDK,当然可以提供一个可接受的两个参数,那么只能返回一个值。如果要返回多个值,请打包收集类型。

  然后问题又来了。如果我需要三个或多个参数,则不可能封装所有参数的功能。

  让我们考虑一下这个问题的解决方案:对于多元化(人参)函数,我们可以将它们拆分成一个 - 美元的函数,然后让此一个 - 毛额函数返回一个 - 毛线功能以实现多参数传输。这是这个想法我们前面提到的Corride。

  看看特定的实现

  通过上述方法,您可以简单地编写一些代码,例如具有相同返回值但调用不同正方形的第三方调用。

  以上是功能编程的简单介绍。其他行为还需要在实际代码中实践。