最近在看一本書《你必須知道的.Net》,書涵蓋的內(nèi)容比較多,對于c#,.Net平臺以往所學的零散東西有了慢慢的總結和新的認識。把一些基礎的東西記錄于此。
先說說多態(tài)吧:
1.基類繼承式多態(tài)
如書中所說,基類繼承式多態(tài)的關鍵是繼承體系的設計與實現(xiàn)。書中舉了個簡單的列子
myFile.open();
2.接口實現(xiàn)式多態(tài)
區(qū)別于基類的繼承方式,這種多態(tài)通過實現(xiàn)接口的方法約定形成繼承體系,具有更高的靈活性。從設計模式的角度來看,接口實現(xiàn)多態(tài)體現(xiàn)了一種CAN-DO關系。上述的文件加載器也可以這樣實現(xiàn)
myFile.open();
從技術實現(xiàn)角度看,是.NET的動態(tài)綁定機制成就了面向對象的多態(tài)特性。靜態(tài)綁定在編譯期就可以確定關聯(lián),一般是以方法重載來實現(xiàn)的;動態(tài)綁定則在運行期通過檢查虛擬方法表來確定動態(tài)關聯(lián)覆寫的方法,一般以繼承和虛方法實現(xiàn)。
新聞熱點
疑難解答