gpt4 book ai didi

oop - Scala 中的模式匹配如何克服 switch case 导致的重复?

转载 作者:行者123 更新时间:2023-12-03 11:01:13 25 4
gpt4 key购买 nike

注意:我问这个问题是出于好奇,而不是质疑语言功能的重要性。

看起来是向命令式编程世界的人们介绍的一个很棒的功能。
我是 Scala 的新手,仍然试图找出所有的地方,让它的大量构造适合并且可以被利用。

模式匹配绝对可以比 switch 案例做得好 100 倍。
但是,自从 OOP 出现以来,它仍然是一个案例结构,我们习惯于使用多态性。

所以简而言之,我发现难以理解的是,如果 switch case 鼓励重复,我们最好将与 case 相关的代码编写到各自的类中,那么 Scala 的模式匹配如何克服这个问题?

我们仍然可以为各种情况使用类或泛型类,并再次利用多态性来满足我们的需要。

最佳答案

这是对象和数据结构之间差异的问题。

如果您正在处理对象,请使用子类型多态性 - 添加新类型不需要重新编译、重新测试或重新部署现有类型,而添加新算法(接口(interface)上的方法,位于层次结构的顶部)则需要.

如果您正在处理数据结构,请使用模式匹配 - 添加新算法不需要重新编译、重新测试或重新部署现有算法,而添加新类型则需要。

了解更多信息 here .

关于oop - Scala 中的模式匹配如何克服 switch case 导致的重复?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11628852/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com