java什么是類的多態性
1. 如果a是類A的一個引用,那么,a可以指向類A的一個實例,或者說指向類A的一個子類。
2. 如果a是接口A的一個引用,那么,a必須指向實現了接口A的一個類的實例。
多態(Polymorphism)按字面的意思就是“多種狀態”。在面向對象語言中,接口的多種不同的實現方式即為多態。引用Charlie Calverts對多態的描述——多態性是允許你將父對象設置成為和一個或更多的他的子對象相等的技術,賦值之后,父對象就可以根據當前賦值給它的子對象的特性以不同的方式運作(摘自“Delphi4 編程技術內幕”)。簡單的說,就是一句話:允許將子類類型的指針賦值給父類類型的指針。多態性在Object Pascal和C++中都是通過虛函數(Virtual Function) 實現的。
多態指同一個實體同時具有多種形式。它是面向對象程序設計(OOD)的一個重要特征。如果一個語言只支持類而不支多態,只能說明它是基于對象的,而不是面向對象的。C++中的多態性具體體現在運行和編譯兩個方面。運行時多態是動態多態,其具體引用的對象在運行時才能確定。編譯時多態是靜態多態,在編譯時就可以確定對象使用的形式。
C++中,實現多態有以下方法:虛函數,抽象類,重載,覆蓋
java多態的實現主要體現在哪些方面
多態可分為:
1.編譯多態:主要是體現在重載,系統在編譯時就能確定調用重載函數的哪個版本。
2.運行多態:主要體現在OO設計的繼承性上,子類的對象也是父類的對象,即上溯造型,所以子類對象可以作為父類對象使用,父類的對象變量可以指向子類對象。因此通過一個父類發出的方法調用可能執行的是方法在父類中的實現,也可能是某個子類中的實現,它是由運行時刻具體的對象類型決定的。
java什么是類的多態性




