1. 程式人生 > >面向對象的三大特征和五大基本原則

面向對象的三大特征和五大基本原則

人物 images 裏氏替換原則 如果 而不是 src 接口分離 實現 -1

http://blog.csdn.net/zhang2531/article/details/52052453

面向對象的編程方法是為了解決系統的可維護性、可擴展性、可重用性。系統的需求是變化的,如果需求增加或者修改,就需要全部推到重來是效率低下的;不應該重復造輪子,你寫一個單鏈表,他寫一個,這樣重復的工作是可以消除掉的。

面向對象與面向過程的區別

前者是紀傳體,如史記按人物線索寫,後者是編年史,按年代寫。BS談普通類的優點和OOP的偉大之處。面向過程是構造數據加方法(算法+數據=程序),面向對象是把數據和方法封裝在一起,對象間傳遞消息。系統類有各種設備,如果不用多態,需要為每個設備的調用都寫出接口,有了多態,設備就被抽象為一種接口,調用時動態分派具體設備的方法。

public繼承是用於表明“is-a"的關系,如果是”has-a"的關系,用組合。

1、封裝、繼承、多態。

技術分享

五大基本原則

單一職責原則(Single-Responsibility Principle)。“對一個類而言,應該僅有一個引起它變化的原因”。本原則是我們熟悉的“高內聚性原則”的引申,以提高內聚性來減少引起變化的原因。

開放封閉原則(OCP)。“軟件的功能應該是可以擴展的,而盡可能的不修改”。修改程序可能會造成原來的程序錯誤,不能修改,但是可以添加功能。對擴展是開放的,對更改是封閉的。更改封閉是我們對模塊進行擴展時,不需要對源代碼進行修改或重新編譯文件。

裏氏替換原則(the Liskov Substitution Principle LSP)。派生類可以替換基類出現在基類能夠出現的任何地方;

依賴倒置原則(the Dependency Inversion Principle DIP)。傳統的結構化編程中,最上層的模塊通常都依賴下面的子模塊來實現,即高層依賴底層,DIP就是逆轉這種關系。

接口分離原則(the Interface Segregation Principle ISP) 。模塊間要通過抽象接口隔離開,而不是通過具體的類強耦合起來。

面向對象的三大特征和五大基本原則