前提條件:引用類型(指針間的遊戲)
協變性:成員類型是要求類型的子類(派生類)。
例如:方法的返回值,如果定義要求返回的是Object,我們可以返回String,這個變化是被允許的。
逆變性:成員類型是要求類型的基類(父類)。
例如:方法的參數類型是 FileStream,我們可以傳遞一個 Stream,這個變化是被允許的。
前提條件:引用類型(指針間的遊戲)
協變性:成員類型是要求類型的子類(派生類)。
例如:方法的返回值,如果定義要求返回的是Object,我們可以返回String,這個變化是被允許的。
逆變性:成員類型是要求類型的基類(父類)。
例如:方法的參數類型是 FileStream,我們可以傳遞一個 Stream,這個變化是被允許的。