C中的多型問題

2023-03-01 15:40:18 字數 544 閱讀 5691

1樓:光子炮

多型又稱後期繫結,是一種在執行時(just in time)指定方法呼叫地址的技術。

通常,編譯器在編譯期就能知道方法的地址,執行時直接載入這個地址上的堆疊**(.net中指中間**)就可以了,這被稱為靜態繫結或前期繫結,雖然很少使用這個術語。

編譯器在編譯期不能確定方法的地址,而只能在執行時確定的就被稱為後期繫結(或動態聯編)。例如,對於object類的tostring方法,其方法定義是返回類的名稱,但是,呼叫這個方法卻不一定能夠返回類的名稱(如string類),因為它有可能被派生類重寫,多型技術確保執行時能夠呼叫到正確的方法。

關於多型和繼承的區別,繼承實現了型別重用,而多型實現了方法重用。

2樓:水中月

多型有動態多型和靜態多型兩種,比如方法的過載就是靜態多型,在繼承中的派生類中對父類的方法的重寫就是動態的多型,還有一個很好的例子就是父類出項的地方其子類都可以出現,即里氏代換原則就是的。假如person是父類,student是子類,就可以這樣寫:person person=new student();

c中ShowDialog的問題,C WinForm ShowDialog 兩次

觸發離開事件,validate事件等等,showdialog會中斷當前執行緒,並且,焦點移到dialog上面.所以,當前如果使用 系統的showdialog方法,那麼其父窗體將不能獲取焦點.有兩種方法可以實現,1 在b的load事件中將焦點放到c控鍵上.2 為b增加一個建構函式,引數為string,...

c語言程式設計中的小問題,C語言程式設計的小問題

1 可以的。a int a 100 0.5 將第三位小數加上去,通過強制型別轉換,則會丟棄小數部分 a a 100 由於a是double型別,故商包含2位小數 a int a 100 0.5 100.0 這樣合併會得到相同的結果。2 可以這樣操作。a int a 100 100.0 問題一 可以寫成...

物件導向概念問題,什麼是封裝 繼承 多型?他們的作用和好處是

繼承是一種聯結類的層次模型,並且允許和鼓勵類的重用,它提供了一種明確描述共性的方法,物件的一個新類可以從現有的類中的派出,這個過程稱為類繼承。新類繼承了原始類的特性,新類稱為原始類的派生類 子類 而原始類稱為新類的基類 父類 派生類可以從它的基類那裡繼承方法和例項變數,並且類可以修改或增加新的方法使...