2010-11-16 23 views
5

如果您想解释某人如何很好地融入Scala功能和面向对象的技术,您会使用哪个示例?Scala的功能与面向对象的融合

+0

[Scala与F#问题的可能重复:他们如何统一面向对象和FP范例?](http://stackoverflow.com/questions/2905081/scala-versus-f-question-how-do-they-unify -oo-and-fp-paradigms) – nawfal 2013-05-21 09:16:27

回答

4

在我的罐头Seductions of Scala谈话中,我结束了一个Actor示例,它使用功能样式模式匹配来确定收到的消息的“种类”,面向对象风格的多态调度,用于消息“种类”(绘制的几何形状)之一。它从幻灯片76开始。

+0

slide 76?你的谈话太久了! – 2010-11-17 23:12:09

1

演员API是两个方法的优点如何一起使用的一个很好的例子。你也可以看看Map的实现方式,以及它的子类Function1

1

Martin指出PartialFunction是OO/FP合成唯一启用的一种信号示例。具体而言,您可以将其视为一个函数,只需调用它,运行异常的风险,或者您可以首先问它是否可能抛出一些论据。前者是一流功能的自然结果,您期望以任何自称的功能语言来看待它;后者可以说是一些特殊的东西。