【設計模式筆記】面向對象編程的理解

從接觸編程開始就一直聽到面向對象的概念,之前的記憶僅僅是停留在字面意思,未能深入理解其精髓。最近翻過頭來重新理一下面向對象的概念,將自己的知識點做一個梳理。


1、面向對象編程(Object Oriented Programming,OOP)

區別於傳統的面向過程編程,它將數據及對數據的操作行爲放在一起,作爲一個相互依存、不可分割的整體——對象對於相同類型的對象進行分類、抽象後,得出共同的特徵而形成了類。面向對象編程就是定義這些類。類定義好之後將作爲數據類型用於創建類的對象。程序的執行表現爲一組對象之間的交互通信。對象之間通過公共接口進行通信,從而完成系統功能。


2、面向對象的三個特徵

封裝、繼承、多態。

封裝

將一組具有相同特徵和行爲的實體抽象成獨立的對象,隱藏對象的屬性和實現細節,對外提供不同訪問級別的接口。

繼承

通過擴充已有對象的方法來創建新的對象。

多態

子類可以通過覆蓋父類的同名方法來產生不同的行爲。


3、面向對象的六大原則

單一職責原則、里氏替換原則、依賴倒置原則、接口隔離原則、迪米特法則、開閉原則。

單一職責原則Single-Responsibility Principle,SRP

應該有且僅有一個原因引起類的變更。

里氏替換原則(Liskov-Substitution Principle,LSP)

所有引用基類的地方必須能透明的使用其子類的對象。


依賴倒置原則(Dependence-Inversion Priciple,DIP)

高層模塊不應該以來底層模塊,兩者都應該以來其抽象;抽象不應該依賴細節;細節應該依賴抽象。即:面向接口編程


接口隔離原則(Interface Segregation Principle)

接口儘量細化,同時接口中的方法儘量少。


迪米特法則(Lawof Demeter)

也成最少知識原則(Least Knowledge Principle,LKP),一個對象應該對其他對象有最少的瞭解。


開閉原則(Open Closed Principle)

對擴展開放、對修改關閉。



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章