在開始部分,請看官非常非常耐心地閱讀下面幾個枯燥的術語解釋,本來這不符合本教程的風格,但是,請看官諒解,因為列位將來一定要閱讀枯燥的東西的。這些枯燥的屬于解釋,均來自維基百科。
1、問題空間
問題空間是問題解決者對一個問題所達到的全部認識狀態,它是由問題解決者利用問題所包含的信息和已貯存的信息主動地構成的。
一個問題一般有下面三個方面來定義:
•初始狀態——一開始時的不完全的信息或令人不滿意的狀況;
•目標狀態——你希望獲得的信息或狀態;
•操作——為了從初始狀態邁向目標狀態,你可能采取的步驟。
這三個部分加在一起定義了問題空間(problem space)。
2、對象
對象(object),臺灣譯作物件,是面向對象(Object Oriented)中的術語,既表示客觀世界問題空間(Namespace)中的某個具體的事物,又表示軟件系統解空間中的基本元素。
在軟件系統中,對象具有唯一的標識符,對象包括屬性(Properties)和方法(Methods),屬性就是需要記憶的信息,方法就是對象能夠提供的服務。在面向對象(Object Oriented)的軟件中,對象(Object)是某一個類(Class)的實例(Instance)。
3、面向對象
面向對象程序設計(英語:Object-oriented programming,縮寫:OOP)是一種程序設計范型,同時也是一種程序開發的方法。對象指的是類的實例。它將對象作為程序的基本單元,將程序和數據封裝其中,以提高軟件的重用性、靈活性和擴展性。
面向對象程序設計可以看作一種在程序中包含各種獨立而又互相調用的對象的思想,這與傳統的思想剛好相反:傳統的程序設計主張將程序看作一系列函數的集合,或者直接就是一系列對電腦下達的指令。面向對象程序設計中的每一個對象都應該能夠接受數據、處理數據并將數據傳達給其它對象,因此它們都可以被看作一個小型的“機器”,即對象。
目前已經被證實的是,面向對象程序設計推廣了程序的靈活性和可維護性,并且在大型項目設計中廣為應用。 此外,支持者聲稱面向對象程序設計要比以往的做法更加便于學習,因為它能夠讓人們更簡單地設計并維護程序,使得程序更加便于分析、設計、理解。反對者在某些領域對此予以否認。
當我們提到面向對象的時候,它不僅指一種程序設計方法。它更多意義上是一種程序開發方式。在這一方面,我們必須了解更多關于面向對象系統分析和面向對象設計(Object Oriented Design,簡稱OOD)方面的知識。
下面再引用一段來自維基百科中關于OOP的歷史。
代碼如下:
面向對象程序設計的雛形,早在1960年的Simula語言中即可發現,當時的程序設計領域正面臨著一種危機:在軟硬件環境逐漸復雜的情況下,軟件如何得到良好的維護?面向對象程序設計在某種程度上通過強調可重復性解決了這一問題。20世紀70年代的Smalltalk語言在面向對象方面堪稱經典——以至于30年后的今天依然將這一語言視為面向對象語言的基礎。
新聞熱點
疑難解答