面向對象程序設計

面向對象程序設計模式

定義:面向對象程序設計是一種方法,這種方法爲數據和函數提供共同的獨立內存空間,這些數據和函數可以作爲模板以便在需要時創建類似模塊的拷貝。這樣的程序設計方法稱爲面向對象程序設計。

從以上定義可以看到,一個對象被認爲是計算機內存中的一個獨立區間,在這個區間中保存着數據和能夠訪問數據的一組操作。因爲內存區間是相互獨立的,所以對象可以不經修改就應用於多個不同的程序中。

OOP把數據看作程序開發中的基本元素,並且不允許它們在系統中自由流動。它將數據和操作這些數據的函數緊密的連結在一起,並保護數據不會被外界的函數意外的改變。OOP允許我們將問題分解爲一系列實體——這些實體被稱爲對象(object),然後圍繞這些實體建立數據和函數。

一個對象的數據不能訪問其它對象的函數,而一個對象的函數可以訪問其它對象的函數。

面向對象程序設計的一些顯著的特性包括:

·程序設計的重點在於數據而不是過程;
·程序被劃分爲所謂的對象;
·數據結構爲表現對象的特性而設計;
·函數作爲對某個對象數據的操作,與數據結構緊密的結合在一起;
·數據被隱藏起來,不能爲外部函數訪問;
·對象之間可以通過函數溝通;
·新的數據和函數可以在需要的時候輕而易舉的添加進來;
·在程序設計過程中遵循由下至上(bottom-up)的設計方法。

什麼是面向對象程序設計?

面向對象程序設計(OOP)技術汲取了結構化程序設計中好的思想,並將這些思想與一些新的、強大的理念相結合,從而給你的程序設計工作提供了一種全新的方法。通常,在面向對象的程序設計風格中,你會將一個問題分解爲一些相互關聯的子集,每個子集內部都包含了相關的數據和函數。同時,你會以某種方式將這些子集分爲不同等級,而一個對象就是已定義的某個類型的變量。當你定義了一個對象,你就隱含的創建了一個新的數據類型。

面向對象程序設計中的基本概念

1、對象(Object)
2、類(Class)
3、數據抽象(Data abstraction)
4、繼承(Inheritance)
5、動態綁定(Dynamic binding)
6、數據封裝(Data encapsulation)
7、多態性(Polymorphism)
8、消息傳遞(Message passing)

面向對象設計的優點

1、通過繼承,我們可以大幅減少多餘的代碼,並擴展現有代碼的用途;
2、我們可以在標準的模塊上(這裏所謂的“標準”指程序員之間彼此達成的協議)構建我們的程序,而不必一切從頭開始。這可以減少軟件開發時間並提高生產效率;
3、數據隱藏的概念幫助程序員們保護程序免受外部代碼的侵襲;
4、允許一個對象的多個實例同時存在,而且彼此之間不會相互干擾;
5、允許將問題空間中的對象直接映射到程序中;
6、基於對象的工程可以很容易的分割爲獨立的部分;
7、以數據爲中心的設計方法允許我們抓住可實現模型的更多細節;
8、面向對象的系統很容易從小到大逐步升級;
9、對象間通訊所使用的消息傳遞技術與外部系統接口部分的描述更簡單;
10、更便於控制軟件複雜度。

當需要將以上所說的所有特性有機的結合於一個面向對象系統中,它們之間的相對重要性就取決於工程的類型和程序員的喜好。爲了獲得上述的某些優勢,必須考慮很多事情。例如,對象庫必須可以被重用。技術還在不停的發展,現有的產品也會很快的更新換代。如果重用沒有能夠實現,那麼就需要進行嚴格的控制和管理。
易於使用的開發軟件往往難以編寫。面向對象程序設計工具有望解決這個問題。

OOP的應用

OOP最有前途的應用領域如下:
1、實時系統;
2、仿真和建模;
3、面相對象數據庫;
4、超文本、超媒體和擴展文本;
5、AI和專家系統;
6、神經網絡和並行程序設計;
7、決策支持和辦公自動化系統;
8、CIM/CAM/CAD系統。


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