標籤:是你 架構 相同屬性 item 是什麼 程式設計 裝機 目標 影響
物件導向程式設計(Object Oriented Programming,OOP)是一種電腦編程架構,OOP的一條基本原則是:電腦程式是有單個能夠起到子程式作用的單元或對象組合而成的,為了實現鄭鐵運算,每個對象讀能夠接收資訊、處理資料和向其他對象發送資訊。OOP達到了軟體工程的三個目標:重用性、靈活性和擴充性,使其變成的代碼更加簡潔、易於維護,並且具有更強的可重用性。物件導向移至是軟體開發領域比較熱門的話題,首先,物件導向符合人類看待事物的一般規律。其次,採用物件導向的設計方式可以使系統各部分各司其職、各盡所能。但PHP並不是一個真正的物件導向的語言,而是一個混合型語言,可以使用物件導向去設計程式,也可以使用傳統的過程化進行編程。然而,對於大型項目,你可能需要在PHP中使用純的物件導向思想去設計。
物件導向的程式設計分兩個方向:
物件導向技術的文法
物件導向的編程思想
類和對象之間的關係
類與對象的關係就如模具和鑄件的關係,類的執行個體化結果就是對象,而對象的抽象就是類。類描述了一組有相同特性和相同行為的對象。在開發時,要先抽象類別再用該類去建立對象,而在我們的程式中直接使用的是對象而不是類。
什麼是類
在物件導向的程式設計語言中,類是一個獨立的程式單位,是具有相同屬性和服務的一組對象的集合。它為屬於該類的所有對象提供了統一的抽象描述,其內部包括成員屬性和服務的方法兩個主要部分。
什麼是對象
在客觀世界裡,所有的事物都是由對象和對象之間的聯絡組成的。對象是系統中用來描述客觀事物的一個實體,它是構成系統的一個基本單位,一個對象由一組屬性和有權對這些屬性進行操作的一組服務的封裝體。
-
具體理解什麼是類什麼是對象
一個類最為突出的特性,或區別於其他類是你能給它提出什麼樣的請求,它能為你完成那些操作。例如,你去中關村電子城想買幾台組裝的PC,你首先要做的事是什嗎?是裝機的工程師和你坐在一起,按你的需求和你一起完成一個裝機的配置單。可以把這個配置單看做是一個類,也可以說是自訂的一個類型,它記錄了你要買的PC的類型,如果按這個配置單組裝10台PC出來,這10台機子就可以說是同一個類型的,也可以說是一類的。
那麼什麼是對象呢?類的執行個體化結果就是對象,按PC的配置單組裝出來的PC就是對象,是我們可以操作的實體。組裝10台PC,就建立了10個對象,每台PC都是獨立的,只能說明他們是按同一類型配置的,對其中一個PC做任何動作都不會影響其他9台機器。但是如果對類進行修改,也就是在這個PC的配置單上加一個或少一個配件,那麼組裝出來的10個機子都被改變。
類其實就像我們現實世界將食物分類一樣,由車類,所有的車都歸屬於這個類,例如,平治車、寶馬車都屬於車類中的一種;由人類,所有的人都歸屬於這個類,例如中國人、美國人、工人、學生等都屬於人類中的一種;有球類,所有的球都歸屬這個類,例如籃球、足球、排球等。在程式設計中也需要將一些相關的變數定義和函數的聲明歸類,形成一個自訂的類型。通過這個類型可以建立多個實體,一個實體就是一個對象,每個對象都具有該類中定義的內容特性。
物件導向的程式設計
在早期的PHP4中,物件導向功能很不完善,所以程式設計人員幾乎採用的都是過程化的模組編程,程式的基本單位就是有函數組成的。而PHP5版本的發布,標誌著一個全新的PHP時代的到來,它的最大特點就是引入了物件導向的全部機制,並且保留了向下的相容性。開發人員不必再編寫缺乏功能性的類,並且能夠以多種方式實作類別的保護。程式設計人員在設計程式時,就可用以對象為程式的基本單位。
在物件導向的程式設計中,初學者比較難理解的並不是物件導向程式設計中用到的基本文法,而是如何使用物件導向的模式思想去設計程式。例如,一個項目要用到多少個類?定義什麼樣的類?每個類在什麼時候建立對象?哪裡能用到對象?對象和對象之間的關係,以及對象之間如何傳遞資訊等。
假設有這樣一個項目,某大學需要建立5個多媒體教室,每個教室可以供50名學生使用。如果把這個項目交給你來完成,你該怎麼做?是不是首先需要5個房間,每個房間裡面擺放50張電腦桌和50把椅子,然後需要購買50台電腦、1個白板和1個投影機等?這些是什嗎?能看到的這些實體就是對象,也可以說是這些多媒體教室的組成單位。多媒體教室需要的東西都知道了,怎麼去準備呢?就要對所有需要的東西進行分類,可以分成房間類、桌子類、椅子類、電腦類、白板類和投影機類等。然後定義每個類別的詳細資料,例如,房間類裡面需要定義它的面積、桌子數量、就算幾數量和椅子數量等,按這個房間類的設計就可以建立5個房間對象作為教室。桌子類需要定義它的長、寬、高以及顏色,那麼通過桌子類聲場的所有桌子就都是一樣的類型。做一個電腦類,列出需要的電腦詳細配置,這樣購買的電腦就都屬於這個類型了。以此類推,每個對象都可以這樣準備,把這些建立完成的對象都放到各自的教室中,再由學生對象的使用就可以將多個對象關聯到一起了。
- 3
開發一個物件導向的系統程式和建立一個多媒體教室類似,都是把每個獨立的功能模組抽象成類並執行個體化成對象,再由多個對象組成這個系統。這些對象之間能夠接收資訊、處理資料和向其他對象發送資訊等相互作用,就構成了物件導向的程式。
php物件導向程式設計