多型按字面的意思就是“多種狀態”。在面嚮物件語言中,介面的多種不同的實現方式即為多型。多型性是允許你將父物件設定成為一個或更多的他的子物件相等的技術,賦值之後,父物件就可以根據當前賦值給它的子物件的特性以不同的方式運作。簡單的說,就是一句話:允許將子類型別的指標賦值給父類型別的指標。
多型指同一個實體同時具有多種形式。它是面向物件程式設計的一個重要特徵。如果一個語言只支援類而不支援多型,只能說明它是基於物件的,而不是面向物件的。C語言中的多型性具體體現在執行和編譯兩個方面。執行時多型是動
多型按字面的意思就是“多種狀態”。在面嚮物件語言中,介面的多種不同的實現方式即為多型。多型性是允許你將父物件設定成為一個或更多的他的子物件相等的技術,賦值之後,父物件就可以根據當前賦值給它的子物件的特性以不同的方式運作。簡單的說,就是一句話:允許將子類型別的指標賦值給父類型別的指標。
多型指同一個實體同時具有多種形式。它是面向物件程式設計的一個重要特徵。如果一個語言只支援類而不支援多型,只能說明它是基於物件的,而不是面向物件的。C語言中的多型性具體體現在執行和編譯兩個方面。執行時多型是動
具體解釋如下:
1、面對物件就是把資料及對資料的操作方法放在一起,作為一個相互依存的整體物件。
2、對同類物件抽象出其共性,形成了類。
3、類中的大多數資料,只能用本類的方法進行處理。
4、類透過一個簡單的外部介面與外界發生關係,物件與物件之間透過訊息進行通訊。程式流程由使用者在使用中決定。
5、面向過程就是自頂向下順序執行,逐步求精;其程式結構是按功能劃分為若干個基本模組,這些模組形成一個樹狀結構;各模組之間的關係儘可能簡單,在功能上相對獨立;每一模組內部均是由順序、選擇和迴圈三種基本結構組成;其模組化實現的具體方法是使用子程式。
1、單一職責原則:一個物件應該只包含單一的職責,並且該職責被完整地封裝在一個類中。單一職責原則是實現高內聚、低耦合的指導方針,是最簡單卻最難運用的原則,需要設計人員發現類的不同職責並將其分離。
2、開閉原則:軟體實體應當對擴充套件開放,對修改關閉。指軟體實體應儘量在不修改原有程式碼的情況下進行擴充套件。
3、里氏替換原則:所有引用基類的地方必須能透明地使用其子類的物件。里氏替換原則表明,在軟體中將一個基類物件替換成它的子類物件,程式將不會產生任何錯誤和異常,反過來則不成立。在運用里氏替換原則時,應該將父類設計為抽象類或者介面,讓子類繼承父類或實現父類介面,並實現在父類中宣告的方法。
4、依賴倒轉原則:高層模組不應該依賴底層模組,它們都應該依賴抽象。抽象不應該依賴於細節,細節應該依賴於抽象。依賴倒轉原則要求:要針對介面程式設計,不要針對實現程式設計。
5、介面隔離原則:客戶端不應該依賴那些它不需要的介面。在使用介面隔離原則的時候,需要注意控制介面的粒度,介面不能太小,如果太小會導致系統中介面氾濫,不利於維護;介面也不能太大,太大的介面將違背介面隔離原則,靈活性較差,使用起來不方便。
6、合成複用原則:優先使用物件組合,而不是繼承來達到複用的目的。一般而言,如果兩個類之間是Has-A關係應使用組合或聚合,如果是Is-A關係可使用繼承。
7、迪米特法則-又稱最少知識原則:每一個軟體單位對其他的單位都只有最少的知識,而且侷限於那些與本單位密切相關的軟體單位。