目錄
PHP物件導向的基本概念
#(一)、物件導向的基本概念
1、什麼是物件
#3、物件的特徵
4、什麼是物件導向
5、為什麼要使用物件導向
6、物件導向的實質
l
第一步:辨識物件-任何實體都可以稱為物件" >第一步:辨識物件-任何實體都可以稱為物件
8、物件導向的基本原則
首頁 後端開發 php教程 PHP物件導向到底是啥?十分鐘簡單易懂圖文教程

PHP物件導向到底是啥?十分鐘簡單易懂圖文教程

May 15, 2020 pm 03:32 PM
php 物件導向

PHP物件導向的基本概念

 

#(一)、物件導向的基本概念

1、什麼是物件

l  物件導向英文是Object Oriented,拆開就是

       -物件(Oriented)

       -物件( Object )

       -物件( Object )

#       -物件( Object )#       -物件( Object )#       -物件( Object )

#       -物件( Object )#       -物件( Object )##       -物件( Object )

##    我:什麼是物件l 

世間萬物皆物件n 

一切可見之物u 

一個老人,一台筆記本u 

##一個桌子

u 

一個球員

u 

一個女主播

n 

一切不可見之物也可以是物件

u  一個空氣裡的細菌 u  一個抽象的概念l  抽象,顧名思義,就是抽掉了具體形象的東西。如:人,就可以說是相對抽象的概念,因為一個具體的人有性別、年齡、身高、相貌、社會關係等具體特徵,但抽象的

就是不包含這些具體特徵的一個概念,因此說它是抽象的;而具體的人的概念應該是張三、李四等。

因此說,抽象概念一般是指的每一類事物,而不是某一個事物。  

2、物件的組成

l  物件組成包含兩部分 n

 

物件的組成元素u  是物件的#資料模型 ,用來描述物件的資料

u  又被稱為物件的

屬性

#######################物件的######成員變數###############n###  ######物件的行為#########u## #  ######是物件的######行為模型,######用來描述物件它能做什麼事情###

u  又稱為物件的方法

 

      

#3、物件的特徵

l  每個物件都是獨一無二

n  比如說張三就是張三,李四就是李四,你家的桌子就是你家的不是別人家的,而且你家臥室的桌子不是客廳的桌子,這些都不能混為一談

l  物件是一個特定的事物,它的功能就是完成特定的功能

n  例如桌子,它就是一張桌子,它就是為了滿足你吃飯的時候的需求,你可以把飯菜盛飯到上面,這樣吃起來就方便

n  再例如球員,它的功能就是傳球,運球,投籃,扣籃,這些就是他們要做的事情

l  對象它是可以重複使用的

n  例如球員詹姆斯,他打完一場籃球後,還可以繼續打,不是說打完一場就結束了,不能再打了

n  再比如,吃飯的桌子,你吃完了,下次再吃的時候,還可以繼續使用這張桌子,所以它是可以被重複使用

n  再比如,一輛車子,它從北京開到到廣州,不是說它開到廣州就報廢了,而是可以往返很多次

4、什麼是物件導向

l  物件是指在程式設計的時候,一直把物件放在心中

n  例如你面對牆壁,你一直看到的就是牆壁,

n  例如老師講課,它面向是誰,是學生,所以老師上課的時候要一直面對的是學生

n  物件導向,就是程式設計的時候,心裡一直面向著物件

l  物件導向編程,指的就是在程式設計的時候,把一切資料模型轉換成物件的結構進行存儲,

n  其實就是程式設計的時候,我們把所有的資料結構,轉換成屬性和方法這種物件的形式進行存儲,我們把這種方式就稱為物件導向程式設計

 

5、為什麼要使用物件導向

  •   物件的描述方式更貼合真實世界,更方便我們理解大型專案的業務邏輯

n  我們早期的時候是過程導向編程,就是每天講的都是程式碼的組織結構,但是有了物件的描述方式後,我們也可以說,我寫的就是一個一個的對象,然後他們之間有各種互動

n  在程式設計的過程當中,這種物件導向的發展方式拉近了程式碼和真實世界的距離

6、物件導向的實質

l  做任何事情我們都需要觀察事物的本質,那麼物件導向的實質是

n  把生活中要解決的問題,都透過物件的方式進行存儲,什麼是物件方式的存儲,就是把資料結構儲存為物件的屬性和方法

u  例如我們要做一個家居軟體,裡面所有的家居我們都可以用物件的屬性和方法來表示出來,例如它的大小,顏色,尺寸等等

方法有哪些呢,例如有的家居是可以折疊的,這個折疊就是它的方法

u  再例如一個球員,它的屬性有什麼,身高,年齡,團隊,膚色等等,那方法呢,就比如運球,傳球,投籃,灌籃等這些基本的技能就是球員的方法

l  物件和物件之間的互動,就是透過方法的呼叫來完成,這個有點抽象,後面我們會透過實例進行詳細的剖析

n  範例

u  例如我從教室門口,走了大概10步,來到了講台中間,緊接著我看向張三,然後問了一個問題,“你好,請問你叫什麼名字”,最後張三回复我:“你好,我打電話給三」

                             ,緊接著呼叫了張三物件的回覆方法PHP物件導向到底是啥?十分鐘簡單易懂圖文教程

 

7、物件導向的基本想法

l

 

第一步:辨識物件-任何實體都可以稱為物件

l

 

第二步:辨識物件的屬性n

 

物件裡面儲存的資料都是屬性n

 

對於不同的業務我們要關注的屬性是有所不同的u

 

例如上面的場景中,我們要用物件導向的方式把它還原,那麼關注的屬性就是名字,身份,方法就是3個,走,看,問

u  例如女主播和球員都是人,但是因為業務不同,所以我們關注的屬性和方法也會不同,例如女主播,我們更關注的是它的藝名,還有唱歌,球員我們更關注的是他是哪支球隊的,以及他球技

l  第三步:辨識對象的行為

n  例如說物件自己資料的改變都是行為

n  對象與外在之間的互動

8、物件導向的基本原則

l  物件內部是高內聚的

n  只包含一個特定的功能(功能是可大可小)

u  比如說球員,他只負責打球,女主播只負責唱歌,雖然他們還可以做其他事情,但是因為業務不同,所以職能不同,然後其他的職能就沒有包含進來

#n  所有物件相關的內容都封裝在物件內部

l  物件外部它是低耦合的

n  外在的世界只能看見物件的部分屬性,看不到全部的

n   外在世界只能看見物件的部分行為,看不到全部的

u  這個高內聚低耦合不關是物件的一些基本原則,它也是我們整個程式設計當中的一個重要原則,特別是低耦合更重要一些,為什麼這麼說呢,因為一旦做到了低耦合,這樣的話,物件之間的依賴關係會變得非常小,隨之帶來的好處就是,它的可維護性更高了,可擴展性也加強了,比如做一個遊戲軟體,這個球員的對象可以被多個遊戲使用,這樣在開發新遊戲的時候,可以直接拿來使用,這樣的話,復用性也增強了

u  高內聚的好處就是,你該有的都有了,盡量寫全一點就不會出現缺胳膊少腿的

u  高內聚低耦合它不僅僅只是我們設計對象的時候的基本原則,它也是我們程式設計的重要設計原則



以上是PHP物件導向到底是啥?十分鐘簡單易懂圖文教程的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

適用於 Ubuntu 和 Debian 的 PHP 8.4 安裝和升級指南 適用於 Ubuntu 和 Debian 的 PHP 8.4 安裝和升級指南 Dec 24, 2024 pm 04:42 PM

PHP 8.4 帶來了多項新功能、安全性改進和效能改進,同時棄用和刪除了大量功能。 本指南介紹如何在 Ubuntu、Debian 或其衍生版本上安裝 PHP 8.4 或升級到 PHP 8.4

我後悔之前不知道的 7 個 PHP 函數 我後悔之前不知道的 7 個 PHP 函數 Nov 13, 2024 am 09:42 AM

如果您是經驗豐富的PHP 開發人員,您可能會感覺您已經在那裡並且已經完成了。操作

如何設定 Visual Studio Code (VS Code) 進行 PHP 開發 如何設定 Visual Studio Code (VS Code) 進行 PHP 開發 Dec 20, 2024 am 11:31 AM

Visual Studio Code,也稱為 VS Code,是一個免費的原始碼編輯器 - 或整合開發環境 (IDE) - 可用於所有主要作業系統。 VS Code 擁有大量針對多種程式語言的擴展,可以輕鬆編寫

在PHP API中說明JSON Web令牌(JWT)及其用例。 在PHP API中說明JSON Web令牌(JWT)及其用例。 Apr 05, 2025 am 12:04 AM

JWT是一種基於JSON的開放標準,用於在各方之間安全地傳輸信息,主要用於身份驗證和信息交換。 1.JWT由Header、Payload和Signature三部分組成。 2.JWT的工作原理包括生成JWT、驗證JWT和解析Payload三個步驟。 3.在PHP中使用JWT進行身份驗證時,可以生成和驗證JWT,並在高級用法中包含用戶角色和權限信息。 4.常見錯誤包括簽名驗證失敗、令牌過期和Payload過大,調試技巧包括使用調試工具和日誌記錄。 5.性能優化和最佳實踐包括使用合適的簽名算法、合理設置有效期、

php程序在字符串中計數元音 php程序在字符串中計數元音 Feb 07, 2025 pm 12:12 PM

字符串是由字符組成的序列,包括字母、數字和符號。本教程將學習如何使用不同的方法在PHP中計算給定字符串中元音的數量。英語中的元音是a、e、i、o、u,它們可以是大寫或小寫。 什麼是元音? 元音是代表特定語音的字母字符。英語中共有五個元音,包括大寫和小寫: a, e, i, o, u 示例 1 輸入:字符串 = "Tutorialspoint" 輸出:6 解釋 字符串 "Tutorialspoint" 中的元音是 u、o、i、a、o、i。總共有 6 個元

您如何在PHP中解析和處理HTML/XML? 您如何在PHP中解析和處理HTML/XML? Feb 07, 2025 am 11:57 AM

本教程演示瞭如何使用PHP有效地處理XML文檔。 XML(可擴展的標記語言)是一種用於人類可讀性和機器解析的多功能文本標記語言。它通常用於數據存儲

解釋PHP中的晚期靜態綁定(靜態::)。 解釋PHP中的晚期靜態綁定(靜態::)。 Apr 03, 2025 am 12:04 AM

靜態綁定(static::)在PHP中實現晚期靜態綁定(LSB),允許在靜態上下文中引用調用類而非定義類。 1)解析過程在運行時進行,2)在繼承關係中向上查找調用類,3)可能帶來性能開銷。

什麼是PHP魔術方法(__ -construct,__destruct,__call,__get,__ set等)並提供用例? 什麼是PHP魔術方法(__ -construct,__destruct,__call,__get,__ set等)並提供用例? Apr 03, 2025 am 12:03 AM

PHP的魔法方法有哪些? PHP的魔法方法包括:1.\_\_construct,用於初始化對象;2.\_\_destruct,用於清理資源;3.\_\_call,處理不存在的方法調用;4.\_\_get,實現動態屬性訪問;5.\_\_set,實現動態屬性設置。這些方法在特定情況下自動調用,提升代碼的靈活性和效率。

See all articles