周佳明 陳俊杰 河北農業大學
程序設計語言經歷了由無類型到帶類型,由簡單的基本類型到復雜的結構類型、抽象數據類型的發展。面向對象程序設計引入了多態類型,多態類型是指一個數據對象可以有多個類型,具體類型由其所在的上下文確定。多態性的引入對于改善程序的性能、保證程序的正確性、提高程序的可讀性大有益處,為軟件功能的擴展提供了極大的方便。
面向對象程序設計的客體就是現實世界中客觀存在的實體以及人們對這個世界的認知和改變的客體,它們所一一對應的是現實世界中存在的那些現實客體的抽象化表現,并與其有著密不可分的直接性關系,并相互對應而面向對象程序的設計開展過程中,對象是其設計中最為關鍵和核心的一種觀念,并需要調節好每個對象之間的相互協作,這就是面向對象程序設計。
在面向對象程序設計開展之前,有一種結構化的程序設計是產生在其設計之前的,那就是面向過程的程序設計。這種程序設計產生于面向對象程序設計之前,具有從上到下,慢慢細化的結構特點,并且將功能作為其主要設計核心,將函數作為其程序設計的主要基礎部分,而數據在其設計過程中作用意義并不很大,往往只處于從屬地位。這樣的程序設計概念的實施與操作,更容易幫助人們去加深理解和掌握,但是也具有著不能處理復雜性問題及單一性等問題。
因此為了能夠滿足更多人的需求和更多領域的需要,一種操作更加簡單,涉及范圍更加廣泛的程序設計思想就出現了——面向對象程序設計它的出現與實施幫助軟件開發更加的便捷與高效,其設計主要的思想就是有效的將客戶的主觀思想帶入到軟件開發與程序設計中去,在設計與落實的過程中始終堅持以“對象”為設計的核心理論基礎,并且在其設計理念中堅持的是一種由下到上的觀念,并將“數據”為其設計開展的主要核心和中心,并緊緊圍繞其發展,而類就變成了其程序設計最最基礎的設計單位,面向對象程序設計這種獨特的設計理念和特性,對于設計者而言能使其在設計過程中從內部更加深入細致的加深了解時也能在程序設計完成之后提高程序使用的靈活性和高效性,比較適合開發大型復雜軟件,是目前較為重要的程序設計方法之一。
多態性,就如同其名字字面意思,就是一種客觀載體有多重形態的意思,在面向對象程序設計過程中其多態主要表現在一種程序設計方法中,可能有著相同的名稱,但是它們在設計過程中的設計參數,設計過程等方式都各不相同并具有著多種聯通組合的方式,而在后來的面向對象程序設計中,多態性的表現,最主要的是表現在一種程序設計方式在相同和不同的設計對象中所反饋和呈現的不同的多樣性的結果其優勢就在于在這種特性下,程序設計中所內部允許的對象可根據不同想參數形式及反饋信息作出不同的操作響應,這樣就大大提升了程序的運作效率,并提高了其處理復雜性問題的能力。
(1)靜態多態性。在面對對象程序設計過程中,函數的參數模式是由多個方面所構成的,參數類型、個數、以及順序,構成了該函數的參數模式,并且伴隨著一定量的同名方法函數,它們的參數模式也有著很大的不同與差異性而這種現象的存在就被稱為“方法重載”,其主要表現在在一個使用了方法重載的應用程序中,編譯系統在編譯階段會根據被調用方法的實際參數的情況找到與之相一致的重載方法執行,即根據參數模式的匹配來確定執行哪一個具體的重載方法,進而完成相應的功能這種多態性即被稱為靜態多態性,即方法重載機制是實現靜態多態性的一種途徑。
(2)動態多態性。其主要特征表現在面對對象程序設計過程中出現函數及方法的首部相同,但是主體不同時的情況這種現象和特征有時也被稱之為方法的重寫或者覆蓋,當在程序設計過程中出現了這樣的程序和過程時,在一個出現了方法重寫的程序中,如果子類對象調用了重寫的方法,這時在編譯時就能夠確定執行哪個重寫方法了,即為調用該對象所屬子類中的定義的重寫方法;如果父類變量引用(指向)子類對象,這時具體執行哪個重寫方法需要到程序運行時才能夠確定,它更能體現同一個消息,有不同的執行過程和不同的執行結果。后者被稱為動態多態性,這種多態性是通過方法重寫的機制實現的。
綜上所述,多態性作為面向對象程序設計過程中最為重要的特點與觀念之一,在面向對象程序設計過程中對其發展起著至關重要的作用,并因為其多態性的特征,讓面向對象程序設計的理念和思路更加成熟,并且更加高效,因此在今后的相關研究中,將繼續對此展開更加深入的剖析和了解,加深對其認知,從而為后來的相關研究提供更多的建設性意見。