強類型和弱類型指的是兩個具有直接或者間接繼承關系的兩個類。如果一個類是另一個類的直接或者間接基類,那么它為弱類型,直接或者間接子類為強類型。后續的介紹中會用到的兩個類Foo和Bar先定義在這里。Bar繼承自Foo。Foo是弱類型,而Bar則是強類型。
有了強類型和弱類型的概念,我們就可以這樣的定義協變和逆變:如果類型TBar是基于強類型Bar的類型,而類型TFoo是基于弱類型Foo的類型,協變就是將TBar類型的實例賦值給TFoo類型的變量,而逆變則是將TFoo類型的實例賦值給TBar類型的變量。
委托中的協變與逆變的使用
協變和逆變主要體現在兩個地方:接口和委托,先來看看在委托中如何使用協變和逆變?,F在我們定義了如下一個表示無參函數的泛型委托Function,類型參數為函數返回值的類型。泛型參數之前添加了一個out關鍵字表示T是一個協變變體。那么在使用過程中,基于強類型的委托Fucntion實例就可以賦值給基于弱類型的委托Fucntion變量。
Copyright@ 2011-2016 版權所有:大連千億科技有限公司 遼ICP備11013762-3號 google網站地圖 百度網站地圖 網站地圖
公司地址:大連市沙河口區中山路692號辰熙星海國際2317 客服電話:0411-39943997 QQ:2088827823 37482752
法律聲明:未經許可,任何模仿本站模板、轉載本站內容等行為者,本站保留追究其法律責任的權利! 隱私權政策聲明