首頁  >  文章  >  後端開發  >  php物件導向什麼意思

php物件導向什麼意思

青灯夜游
青灯夜游原創
2021-06-30 11:49:484240瀏覽

在php中,物件導向就是將要處理的問題抽象化為對象,然後透過物件的屬性和行為來解決物件的實際問題。物件導向有兩個重要的基本概念:類別和對象,類別是物件的抽象,在類別中可以定義物件的屬性和方法;物件是類別的實例,類別只有在實例化後才能使用。

php物件導向什麼意思

本教學操作環境:windows7系統、PHP7.1版,DELL G3電腦

物件導向就是將要處理的問題抽象化為對象,然後透過物件的屬性和行為來解決物件的實際問題。我們通常所說的物件導向準確的說應該叫做物件導向程式設計(OOP),它是物件導向的一部分。

物件導向主要分為三個部分,如下所示:

  • 物件導向分析(Object Oriented Analysis,OOA);

  • 物件導向設計(Object Oriented Design,OOD);

  • 物件導向程式設計(Object Oriented Programming,OOP)。

在物件導向中兩個重要的基本概念就是類別和物件:

1) 類

世間萬物都具有自己的屬性和方法,透過這些屬性和方法可以將不同事物區分開來。例如,人具有身高、體重和膚色等屬性,還可以進行吃飯、學習、走路等活動,這些活動可以說是人們所擁有的功能。可以把人看成程式中的一個類,那麼人的身高可以看作類中的屬性,走路可以看作類中的方法。

也就是說,類別是屬性和方法的集合,是物件導向程式設計方式的核心和基礎,透過類別可以將零散的用於實現某項功能的程式碼進行有效管理。例如,建立一個運動類,其中包括 5 個屬性;姓名、身高、體重、年齡和性別,定義 4 個方法:踢足球、打籃球、舉重和跳高。

總而言之,類別是變數(類別的屬性)與作用於這些變數的函數(類別的方法)的集合,而屬性與方法是構成類別的基礎。

2) 物件

類別是具備某項功能的抽像模型,實際應用中還需要對類別進行實例化,這樣就引入了物件的概念。

物件是類別進行實例化後的產物,是一個實體。仍然以人為例,“黃種人是人”這句話沒有錯誤,但反過來說“人是黃種人”,這句話一定是錯的。因為除了黃種人,還有黑人、白人等。那麼「黃種人」就是「人」這個類別的一個實例物件。

可以這樣理解物件和類別的關係:類別是物件的抽象,在類別中可以定義物件的屬性和方法;物件是類別的實例,類別只有被實例化後才能使用。

物件導向程式設計的特性

物件導向程式設計具有封裝、繼承、多型三大特性,它們迎合了程式設計中註重程式碼重用性、靈活性和可擴展性的需要,奠定了物件導向在程式設計中的地位。

1) 封裝

封裝就是將一個類別的使用和實作分開,只保留有限的介面(方法)與外部聯繫。對於用到該類別的開發人員,只要知道這個類別該如何使用即可,而不用去關心這個類別是如何實現的。這樣做可以讓開發人員更好地把精力集中起來專注於別的事情,同時也避免了程式之間的相互依賴所帶來的不便。

例如,在使用電腦時,我們並不需要將電腦拆開了解它每個部件的具體用處,只需要按下電源鍵就能將電腦啟動,這就體現了封裝的好處。

2) 繼承

繼承就是衍生類別(子類別)自動繼承一個或多個基底類別(父類別)中的屬性與方法,並且可以重寫入或新增新的屬性或方法。繼承這個特性簡化了物件和類別的創建,增加了程式碼的重用性。

例如,已經定義了A 類,接下來準備定義B 類,而B 類中有很多屬性和方法與A 類相同,那麼就可以用B 類繼承A 類,這樣就不用再在B 類中定義A 類中已有的屬性和方法,因此可以大幅提高程式的開發效率。

繼承分為單繼承和多繼承,PHP 目前只支援單繼承,也就是說一個子類別有且只有一個父類別。

3) 多態

物件的狀態是多變的。一個物件相對於同一個類別的另一個物件來說,它們擁有的屬性和方法雖然相同,但卻可以有不同的狀態。另外,一個類別可以衍生出若干個子類,這些子類別在保留了父物件的某些屬性和方法的同時,也可以定義一些新的方法和屬性,甚至於完全改寫父類別中的某些已有的方法。多態增強了軟體的靈活性和重用性。

推薦學習:《PHP影片教學

以上是php物件導向什麼意思的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn