相关疑难解决方法(0)

为什么Haskell代数数据类型"封闭"?

如果我错了,请纠正我,但似乎Haskell中的代数数据类型在许多你将在OO语言中使用类和继承的情况下都很有用.但是有一个很大的区别:一旦声明了代数数据类型,它就无法在其他地方扩展.它是"封闭的".在OO中,您可以扩展已定义的类.例如:

data Maybe a = Nothing | Just a
Run Code Online (Sandbox Code Playgroud)

以后我无法以某种方式为此类型添加另一个选项而不修改此声明.那么这个系统有什么好处呢?似乎OO方式可以更加可扩展.

oop haskell types type-systems functional-programming

57
推荐指数
6
解决办法
7271
查看次数