面向對象的基本特征中繼承,封裝和多態是毋庸置疑的,但抽象到底是不是面向對象的基本特征之一,卻是眾說紛紜。
抽象是面向對象的重要部分,抽象就是忽略一個主題中域當前目標無關的哪些方面。抽象並不打算了解全部問題,而只是考慮其中的一部分。抽象包括兩個方面,一是過程抽象,二是數據抽象。
筆者認為抽象是面向對象的重要部分,但不是面向對象的特征之一,因為所有的編程語言都需要抽象!
漢語釋義
基本解釋
◎ 特征 tè zhēng。
(1) [Characteristic;Distingushing feature;Stigma]∶一事物異於其他事物的特點。
地理特征
(2) [Characteristic;Specific]∶作為一事物異於他事物的特點的。
特征函數
面向對象的三大特征:
繼承:繼承是一種聯結類的層次模型,可以提高代碼的可復用性和可擴展性。在需要定義和實現一個類時,可以從一個已存在的類中派生,這個過程被稱為類繼承。新類稱為原始類的派生類(子類),而原始類稱為新類的基類(父類)。子類將父類所定義的內容作為自己的內容(可復用性),並可以加入新內容(可擴展性)。
封裝:封裝是將對象的實現細節隱藏,然后定義一些公有方法來顯示該對象的功能。封裝可以保證代碼具有優良模塊性的基礎,目的是實現代碼的“高內聚,低耦合”。
多態:多態是指允許不同類的對象對同一信息作出響應。不用修改源程序代碼,就可以讓程序選擇多個運行狀態。多態性包括參數化多態性和包含多態性,能夠很好的解決程序函數同名問題。