上一篇中提到了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
});