如何在Scala中保存未知类型的对象并将其返回?
我有几个类都是从同一个类中实例化的,比如
class And(lhs: ExprTree, rhs: ExprTree) extends ExprTree
class Or(lhs: ExprTree, rhs: ExprTree) extends ExprTree
和一个需要返回所述类实例的函数(即And(lhs, rhs)
,但我没有先验知识)。我还需要存储And()
或Or()
的实例,而不知道它是哪一个。
答案 0 :(得分:0)
val expr: ExprTree = ???
会为您提供一个标识符,该标识符可以包含And
或Or
的值。
类似地,
def (...): ExprTree = ???
将为您提供一个函数,该函数将返回And
或Or
的值(假设一些适当的参数,此处用......表示)。
这个答案似乎太简单明了。但它似乎也满足了我的想法。