考慮,我們有:函數參數:上界vs父類作爲參數?
abstract class FlyingObject;
case class Rocket(name: String) extends FlyingObject;
就是這兩個函數聲明之間的區別:
def launch[T <: FlyingObject](fo: T)
和
def launch(fo: FlyingObject)
大是一些例子時使用聲明的哪種類型。 ..
[UPDATE]
另一個很好的例子和說明,可以發現there。這是您應該使用上限而不是派生類作爲參數的另一個示例。
換句話說,這事特別是當返回類型爲類型T. – 2012-04-23 17:18:28
@LuigiPlinge:也許當它用於其他地方的類型簽名。因爲你可能想'def比較[T <:FlyingObject](一個:T,two:T)'也 – stew 2012-04-23 17:30:30