我無法理解逆變WRT函數類型1功能TYPE1的定義如下:無法理解逆變WRT功能1(-T1,+ T1)
功能1(-T,+ T)
定義清楚說輸入類型參數是反變換。所以應該允許類型的超類型作爲參數。但爲什麼這給編譯器錯誤。
我在下面
class Animal
class Mammal extends Animal
class Cow extends Mammal
我已經定義方法如下
def move(m:Mammal) = Unit c
當我調用像它下面沒有給出錯誤
move (new Cow)
但這一舉動類中定義給出錯誤
move(new Animal)
爲什麼我不能使用Animal作爲參數調用move(),即使Function1是逆變[-T]。
我是新來的Scala,所以請幫我在這
可能重複的[是不是參數類型co-不是contra-variant?](http://stackoverflow.com/questions/13321921/isnt-the-argument-type-co-not-contra-variant) – 757071