上一篇中提到了Callback,其实思想本质在于函数式编程,这才是更根本的概念。现在来看下在 Java 中的函数式编程是如何实现。
首先我们看一下在Java中很熟悉的一个代码段:
//接口类,这个应该算是要采用函数式编程方式的要求中的,而不算是函数式编程本身的一部分。 public interface ActionListener { public void actionPerformed(ActionEvent e); } class XListener implements ActionListener{ public void actionPerformed(ActionEvent e){ //action here } } XListener l = new XListener(); iexit.addActionListener(l);但其实这样的实现方式是比较多余的,其实可以用匿名类来实现。在Java中,我们常说的匿名类,就是函数式编程的思想。来看一下。 iexit.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e) { //action here } });
而在JavaScript中,则有这样的方式:
$("#element").click(function(){ //do something }); $("div.type").each(function(index){ //do something else with the index });