強制多態

強制多態

強制多態是編譯程式程式的一種。通過語義操作,把操作對象的類型強行加以變換,以符合函式或操作符的要求。程式設計語言中基本類型的大多數操作符,在發生不同類型的數據進行混合運算時。編譯程式一般都會進行強制多態。程式設計師也可以顯示地進行強制多態的操作(Casting)。

方法

要注意的是並不是任意兩個類型之間都可以進行強制多態。在不同類型之間實現強制多態,通常需要執行不同的轉換操作。強制多態的原則是:將值集較小(即占用存儲空間較小)的類型,變換成值集包含了前者(即占用存儲空間較大)的類型,反之,應當注意可能發生的對值的損傷(特別是在使用Casting時)。

公式

有時,強制多態與過載多態是混合出現的。例如,對於表達式1+2; 1.0+2; 1+2.0; 1.0+2.0;

中出現的多態,就會有多種解釋:

·操作符+有四種過載多態;

·操作符+只有一種:double * double -> double, 要將參與運算的整數強制變換成浮點數;

·操作符+有兩種過載多態:int * int -> int 和 double * double -> double,要將混合運算中的整數強制變換成浮點數。

相關詞條

熱門詞條

聯絡我們