php面向對象是什麼意思,php面向對象和面向過程的區別

本文目錄一覽:

什麼是php的面向對象編程

面向對象的程序設計(Object-Oriented Programming,簡記為OOP)立意於創建軟體重用代碼,具備更好地模擬現實世界環境的能力,這使它被公認為是自上而下編程的優勝者。它通過給程序中加入擴展語句,把函數「封裝」進編程所必需的「對象」中。面向對象的編程語言使得複雜的工作條理清晰、編寫容易

php中面向對象編程是什麼意思,到底用在什麼地方,用一個項目中的實際例子來舉例說明

可以這樣理解,

1、類是模具,對象是模具生成的產品,就是印刷術一樣,有了一個字一個字的模子,要印出一個字來就方便了,想印就印,你可以印,我也可以印。

2、在PHP中怎麼做一個模具出來呢,就用 class申明,它就表示你要造一個模具了,但這個模具是做什麼用的,就要在裡面添加函數來表達了,函數名就是這個類的方法名,函數完成的功能就是類的方法。當然函數要實現功能代碼中肯定要用到變數,這個就是所謂的類的成員以或者說成是類的屬性。

3、有了類的屬性有了類的方法,這就完成了一個類的定義,也就是模具做好了,接下來要理解的就是,怎樣去用這個類了。就好像是要看一本書你不可能到印刷廠去把字的模具拿來拼成一頁一頁書來看吧,肯定是在紙上印刷出來。這個印刷的過程就是對象生成的過程也叫類的實例化。PHP中用new關鍵字來生成對象。比如前面定義的類名為 牛,這個牛有一個方法(函數)是:耕地。當然耕地這個函數,要怎樣去實現那是另外要的事情了。現在要說的是怎麼用牛的耕地方法,首先實例化,在PHP中這樣表示:牛1= new 牛。這樣 牛這個類 就有了一個具體可以使喚的牛1了 要想用牛1的耕地方法,意思就是「調用類(對象)的方法」,PHP中這樣表示,牛1-耕地;如果你想要100頭牛,就new100個出來就行,而不用每當要用牛的時候都去寫牛的代碼和牛耕地的代碼了。

4、上面說的是一個理解過程,要實現就要用到具體的PHP的語法了,比如怎樣申明變數 ,怎樣賦值,怎樣用運算符來運算,怎樣寫循環結構,怎樣寫選擇結構,等等 。

php面向對象有什麼用

php程序編寫分總分兩種方式,分別為面向過程和面向對象,用兩者比較你會更容易理解些

以下資料庫操作為例:

面向過程:

$conn = mysql_connect(‘127.0.0.1’, ‘root’, ‘123456’) or die(‘連接不成功!’);

mysql_select_db(‘test’, $conn) or die(‘資料庫不存在!’);

$queryid = mysql_query(“select * from sort”);

while ($rs = mysql_fetch_assoc($queryid)) {

echo $rs[‘name’], ‘br’;

}

過程的代碼給人感覺比較亂,不易管理,以下實現以上代碼一樣的功能,但代碼清楚多了。

面向對象就是把常用的功能封裝為一個類,類由屬性和方法組成:

把以上過程代碼封裝成類,以文件形式保存為db.php

class db {

private $conn; //屬性

private $queryid; //屬性

//構造函數

public function db($host, $dbuser, $dbpasswd, $dbname) {

$this-conn = mysql_connect($host, $dbuser, $dbpasswd) or die(‘連接不成功!’);

mysql_select_db($dbname, $this-conn) or die(‘資料庫不存在!’);

}

//查詢方法

public function query($sql) {

$this-queryid = mysql_query($sql, $this-conn);

}

public function fetch_assoc() {

return mysql_fetch_assoc($this-queryid);

}

}

//在a.php文件中實例化,代碼使用變得簡結和容易理解,代碼的重用性

inclode(‘db.php’);

$db = new db(‘127.0.0.1’, ‘root’, ‘123456’, ‘test’);

$db-query(“select * from sort”);

while ($rs = $db-fetch_assoc()) {

echo $rs[‘name’], ‘br’;

}

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/270830.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-16 13:38
下一篇 2024-12-16 13:38

相關推薦

  • Java Bean載入過程

    Java Bean載入過程涉及到類載入器、反射機制和Java虛擬機的執行過程。在本文中,將從這三個方面詳細闡述Java Bean載入的過程。 一、類載入器 類載入器是Java虛擬機…

    編程 2025-04-29
  • Python中new和init的區別

    new和init都是Python中常用的魔法方法,它們分別負責對象的創建和初始化,本文將從多個角度詳細闡述它們的區別。 一、創建對象 new方法是用來創建一個對象的,它是一個類級別…

    編程 2025-04-29
  • PHP和Python哪個好找工作?

    PHP和Python都是非常流行的編程語言,它們被廣泛應用於不同領域的開發中。但是,在考慮擇業方向的時候,很多人都會有一個問題:PHP和Python哪個好找工作?這篇文章將從多個方…

    編程 2025-04-29
  • Sublime Test與Python的區別

    Sublime Text是一款流行的文本編輯器,而Python是一種廣泛使用的編程語言。雖然Sublime Text可以用於編寫Python代碼,但它們之間有很多不同之處。接下來從…

    編程 2025-04-29
  • Shell腳本與Python腳本的區別

    本文將從多個方面對Shell腳本與Python腳本的區別做詳細的闡述。 一、語法差異 Shell腳本和Python腳本的語法存在明顯差異。 Shell腳本是一種基於字元命令行的語言…

    編程 2025-04-29
  • Python中while語句和for語句的區別

    while語句和for語句是Python中兩種常見的循環語句,它們都可以用於重複執行一段代碼。然而,它們的語法和適用場景有所不同。本文將從多個方面詳細闡述Python中while語…

    編程 2025-04-29
  • PHP怎麼接幣

    想要在自己的網站或應用中接受比特幣等加密貨幣的支付,就需要對該加密貨幣擁有一定的了解,並使用對應的API進行開發。本文將從多個方面詳細闡述如何使用PHP接受加密貨幣的支付。 一、環…

    編程 2025-04-29
  • Web程序和桌面程序的區別

    Web程序和桌面程序都是進行軟體開發的方式,但是它們之間存在很大的區別。本文將從多角度進行闡述。 一、運行方式 Web程序運行於互聯網上,用戶可以通過使用瀏覽器來訪問它。而桌面程序…

    編程 2025-04-29
  • 面向對象編程、類和對象

    面向對象編程(Object-Oriented Programming, OOP)是一種編程方法,它將現實世界中的事物抽象為對象(Object),對象的屬性和方法被封裝成類(Clas…

    編程 2025-04-29
  • TensorFlow和Python的區別

    TensorFlow和Python是現如今最受歡迎的機器學習平台和編程語言。雖然兩者都處於機器學習領域的主流陣營,但它們有很多區別。本文將從多個方面對TensorFlow和Pyth…

    編程 2025-04-28

發表回復

登錄後才能評論