допускать несколько типов для параметра в scala

У меня есть два объекта, ObjectA и ObjectB, оба с методом update(). Я хочу написать функцию, которая принимает либо ObjectA, либо ObjectB (но не другие типы). Концептуально, это то, что я пытаюсь сделать:

def doSomething[T <: ObjectA | T <: ObjectB](obj: T) = {
    obj.update
}

Я понимаю, что есть другие способы решить эту проблему (например, структурная типизация метода update(), общий базовый класс и т. д.), но мой вопрос в том, что возможно сделать это в Scala, и если да, то каков синтаксис? А как это называется?

16
задан Jason Wheeler 7 March 2012 в 23:54
поделиться