Scala inheritance argument lists
如果我在scala中有一个基类,比如:
1 |
我希望从这个基类继承多个类,但我希望将参数添加到该列表中。有没有一种有效的方法可以做到这一点,而不需要携带大量的基类参数列表?
为了使事情更复杂,基类可以或不可以重新定义可选参数(f和g)。假设:
号
当然会有点像
1 |
在斯卡拉有好的方法吗?(我考虑过通过定义参数的每个构造函数传递一个映射,但是没有编译时检查所需参数是否存在,它依赖于开发人员检查文档来查看它们应该包含什么。如果钥匙拼错了怎么办?等……)
如果一个建筑师的论据数目是如此大,既然你不想再重复这个论点了然后你应该考虑一下其他的模式。
你可以读到这个问题,并回答这个问题。有多少制造商的论据太多了?目标定向编程的本质在爪哇和斯卡拉都没有改变。
你也可以使用建筑物模式(使用许多设定方法,称为EDOCX1[…]方法),类型安全建筑物模式,有一些贸易除外,等等。
另一方面,在管状干旱的数量上,有(而且很可能是)一个限度,案例类别的建筑物参数,功能参数。22 Fields Limit in Case Class为什么Scala functions limited to 22 parameters?我不知道它在哪里,但SCALA的开发人员正在努力改变它。[SI-7296]Remove arity limit for case classes-scala从来没有,这是一种不好的服装,使一个功能,有很多论据。
最起码,您可以使用/定义管或单元格类别,以使结构简单,但它不帮助选择性参数。或者,如果你熟悉功能性语言的话,可能是当前的制造商。