本文我將從物件導向程式設計思想是如何解決軟體開發中各種疑難問題的角度,來講述我們物件導向程式設計思想的理解,梳理物件導向四大基本特性、七大設計原則和23種設計模式之間的關係。
軟體開發中疑難問題:
軟體開發中存在很多其他的問題,上面只是從程式開發和設計的角度看到的部分問題。需求解決上面軟體開發中的問題,就要求我們編寫(設計)的軟體具有很好的可讀性、可維護性和可擴充套件性。我們需要保證**具有高內聚低耦合。
下面將簡單介紹物件導向的一些基本特性、設計原則,以及設計模式關係。
抽象:提取現實世界中某事物的關鍵特性,為該事物構建模型的過程。對同一事物在不同的需求下,需要提取的特性可能不一樣。得到的抽象模型中一般包含:屬性(資料)和操作(行為)。這個抽象模型我們稱之為類。對類進行例項化得到物件。
封裝:封裝可以使類具有獨立性和隔離性;保證類的高內聚。只暴露給類外部或者子類必須的屬性和操作。類封裝的實現依賴類的修飾符(public、protected和private等)
繼承:對現有類的一種復用機制。乙個類如果繼承現有的類,則這個類將擁有被繼承類的所有非私有特性(屬性和操作)。這裡指的繼承包含:類的繼承和介面的實現。
多型:多型是在繼承的基礎上實現的。多型的三個要素:繼承、重寫和父類引用指向子類物件。父類引用指向不同的子類物件時,呼叫相同的方法,呈現出不同的行為;就是類多型特性。多型可以分成編譯時多型和執行時多型。
抽象、封裝、繼承和多型是物件導向的基礎。在物件導向四大基礎特性之上,我們在做物件導向程式設計設計時還需要遵循有一些基本的設計原則。
在遵循這些物件導向設計原則基礎上,前輩們總結出一些解決不同問題場景的設計模式,以四人幫的gof23最為知名。
24種設計模式(gof23+1):
簡單工廠模式(不包含在gof23中)
工廠模式
抽象工廠模式
單例模式
原型模式
建立者模式
組合模式
裝飾者模式
外觀模式
介面卡模式
**模式
享元模式
橋接模式
觀察者模式
策略模式
狀態模式
中介模式
模板方法
命令模式
備忘錄模式
訪問者模式
直譯器模式
迭代器模式
職責鏈模式
在本文中只是為了梳理清楚物件導向的基本特性、設計原則和設計模式的關係
物件導向程式設計思想(OOP)
本文我將從物件導向程式設計思想是如何解決軟體開發中各種疑難問題的角度,來講述我們物件導向程式設計思想的理解,梳理物件導向四大基本特性 七大設計原則和23種設計模式之間的關係。軟體開發中疑難問題 軟體開發中存在很多其他的問題,上面只是從程式開發和設計的角度看到的部分問題。需求解決上面軟體開發中的問題,...
C 物件導向思想 OOP
物件導向的基本思想是 從現實世界中客觀存在的事物出發來構造軟體系統,並在系統的構造中盡可能地運用人類的自然思維方式。物件導向更加強調運用人類在日常生活的邏輯思維中經常採用的思想方法與原則,如抽象 分類,繼承 聚合 多型等。oop 的一條基本原則是 電腦程式是由單個能夠起到子程式作用的單元或物件組合而...
物件導向程式設計(OOP)
物件導向程式設計 object oriented programming 作為一種新方法,其本質是以建立模型體現出來的抽象思維過程和物件導向的方法。模型是用來反映現實世界中事物特徵的。任何乙個模型都不可能反映客觀事物的一切具體特徵,只能對 事物特徵和變化規律的一種抽象,且在它所涉及的範圍內更普遍 更...