php oop是指物件導向編程,在物件導向的程式設計(OOP)中,物件是一個由資訊及對資訊進行處理的描述所組成的整體,是對現實世界的抽象。
本文操作環境:Windows7系統、PHP7.1版、DELL G3電腦
php oop 是什麼意思?
PHP 物件導向
在物件導向的程式設計(英文:Object-oriented programming,縮寫:OOP)中,物件是一個由資訊及資訊處理的描述所組成的整體,是現實世界的抽象。
在現實世界裡我們所面對的事情都是對象,如電腦、電視、腳踏車等。
物件的主要三個特性:
物件的行為:可以對 物件施加那些操作,開燈,關燈就是行為。
物件的形態:當施加那些方法是物件如何回應,顏色,尺寸,外型。
物件的表示:物件的表示就相當於身分證,具體區分在相同的行為與狀態下有什麼不同。
例如Animal(動物) 是一個抽象類,我們可以具體到一隻狗跟一隻羊,而狗跟羊就是具體的對象,他們有顏色屬性,可以寫,可以跑等行為狀態。
物件導向內容
類別 − 定義了一件事的抽象特徵。類別的定義包含了資料的形式以及資料的操作。
物件 − 是類別的實例。
成員變數 − 定義在類別內部的變數。該變數的值對外是不可見的,但是可以透過成員函數訪問,在類別被實例化為物件後,該變數即可成為物件的屬性。
成員函數 − 定義在類別的內部,可用來存取物件的資料。
繼承 − 繼承性是子類別自動共享父類別資料結構和方法的機制,這是類別之間的關係。在定義和實作一個類別的時候,可以在一個已經存在的類別的基礎之上來進行,把這個已經存在的類別所定義的內容當作自己的內容,並加入若干新的內容。
父類 − 一個類別被其他類繼承,可將該類稱為父類,或基類,或超類。
子類別 − 一個類別繼承其他類別稱為子類,也可稱為衍生類別。
多型態 − 多態性是指相同的函數或方法可作用於多種類型的物件上並獲得不同的結果。不同的對象,收到相同訊息可以產生不同的結果,這種現象稱為多態性。
重載− 簡單說,就是函數或方法有同樣的名稱,但是參數列表不相同的情形,這樣的同名不同參數的函數或方法之間,互相稱之為重載函數或方法。
抽象化 − 抽象性是指將具有一致的資料結構(屬性)和行為(操作)的物件抽象化成類別。一個類別就是這樣一種抽象,它反映了與應用相關的重要性質,而忽略其他一些無關內容。任何類別的劃分都是主觀的,但必須與具體的應用有關。
封裝 − 封裝是指將現實世界中存在的某個客體的屬性與行為綁定在一起,並放置在一個邏輯單元內。
建構子 − 主要用來在建立物件時初始化對象, 即為物件成員變數賦初始值,總是與new運算子一起使用在建立物件的語句中。
析構函式 − 析構函式(destructor) 與建構函式相反,當物件結束其生命週期時(例如物件所在的函式已調用完畢),系統會自動執行析構函式。析構函數往往用來做"清理善後" 的工作(例如在建立物件時用new開闢了一片記憶體空間,應在退出前在析構函數中用delete釋放)。
下圖中我們透過 Car 類別 創建了三個物件:Mercedes, Bmw, 和 Audi。
$mercedes = new Car (); $bmw = new Car (); $audi = new Car ();
PHP 類別定義
PHP 定義類別通常語法格式如下:
<?php class phpClass { var $var1; var $var2 = "constant string"; function myfunc ($arg1, $arg2) { [..] } [..] } ?>
解析如下:
#類別使用class 關鍵字後加上類別名稱定義。
類別名稱後的一對大括號({})內可以定義變數和方法。
類別的變數使用 var 來宣告, 變數也可以初始化值。
函數定義類似 PHP 函數的定義,但函數只能透過該類別及其實例化的物件存取。
實例
<?php class Site { /* 成员变量 */ var $url; var $title; /* 成员函数 */ function setUrl($par){ $this->url = $par; } function getUrl(){ echo $this->url . PHP_EOL; } function setTitle($par){ $this->title = $par; } function getTitle(){ echo $this->title . PHP_EOL; } } ?>
變數 $this 代表自身的物件。
PHP_EOL 為換行符號。
PHP 中建立物件
類別建立後,我們可以使用new 運算子來實例化該類別的物件:
$runoob = new Site; $taobao = new Site; $google = new Site;
以上程式碼我們創建了三個對象,三個對象各自都是獨立的,接下來我們來看看如何存取成員方法與成員變數。
呼叫成員方法
在實例化物件後,我們可以使用該物件呼叫成員方法,該物件的成員方法只能操作該物件的成員變數:
// 调用成员函数,设置标题和URL $runoob->setTitle( "菜鸟教程" ); $taobao->setTitle( "淘宝" ); $google->setTitle( "Google 搜索" ); $runoob->setUrl( 'www.runoob.com' ); $taobao->setUrl( 'www.taobao.com' ); $google->setUrl( 'www.google.com' ); // 调用成员函数,获取标题和URL $runoob->getTitle(); $taobao->getTitle(); $google->getTitle(); $runoob->getUrl(); $taobao->getUrl(); $google->getUrl();
完整程式碼如下:
實例
url = $par; } function getUrl(){ echo $this->url . PHP_EOL; } function setTitle($par){ $this->title = $par; } function getTitle(){ echo $this->title . PHP_EOL; } } $runoob = new Site; $taobao = new Site; $google = new Site; // 调用成员函数,设置标题和URL $runoob->setTitle( "菜鸟教程" ); $taobao->setTitle( "淘宝" ); $google->setTitle( "Google 搜索" ); $runoob->setUrl( 'www.runoob.com' ); $taobao->setUrl( 'www.taobao.com' ); $google->setUrl( 'www.google.com' ); // 调用成员函数,获取标题和URL $runoob->getTitle(); $taobao->getTitle(); $google->getTitle(); $runoob->getUrl(); $taobao->getUrl(); $google->getUrl(); ?>
執行上述程式碼,輸出結果為:
菜鸟教程 淘宝 Google 搜索 www.runoob.com www.taobao.com www.google.com
推荐学习:《PHP视频教程》
以上是php oop 是什麼意思的詳細內容。更多資訊請關注PHP中文網其他相關文章!

php把负数转为正整数的方法:1、使用abs()函数将负数转为正数,使用intval()函数对正数取整,转为正整数,语法“intval(abs($number))”;2、利用“~”位运算符将负数取反加一,语法“~$number + 1”。

实现方法:1、使用“sleep(延迟秒数)”语句,可延迟执行函数若干秒;2、使用“time_nanosleep(延迟秒数,延迟纳秒数)”语句,可延迟执行函数若干秒和纳秒;3、使用“time_sleep_until(time()+7)”语句。

php字符串有下标。在PHP中,下标不仅可以应用于数组和对象,还可应用于字符串,利用字符串的下标和中括号“[]”可以访问指定索引位置的字符,并对该字符进行读写,语法“字符串名[下标值]”;字符串的下标值(索引值)只能是整数类型,起始值为0。

php除以100保留两位小数的方法:1、利用“/”运算符进行除法运算,语法“数值 / 100”;2、使用“number_format(除法结果, 2)”或“sprintf("%.2f",除法结果)”语句进行四舍五入的处理值,并保留两位小数。

在php中,可以使用substr()函数来读取字符串后几个字符,只需要将该函数的第二个参数设置为负值,第三个参数省略即可;语法为“substr(字符串,-n)”,表示读取从字符串结尾处向前数第n个字符开始,直到字符串结尾的全部字符。

判断方法:1、使用“strtotime("年-月-日")”语句将给定的年月日转换为时间戳格式;2、用“date("z",时间戳)+1”语句计算指定时间戳是一年的第几天。date()返回的天数是从0开始计算的,因此真实天数需要在此基础上加1。

方法:1、用“str_replace(" ","其他字符",$str)”语句,可将nbsp符替换为其他字符;2、用“preg_replace("/(\s|\ \;||\xc2\xa0)/","其他字符",$str)”语句。

查找方法:1、用strpos(),语法“strpos("字符串值","查找子串")+1”;2、用stripos(),语法“strpos("字符串值","查找子串")+1”。因为字符串是从0开始计数的,因此两个函数获取的位置需要进行加1处理。


熱AI工具

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

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

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

Dreamweaver CS6
視覺化網頁開發工具

MantisBT
Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

ZendStudio 13.5.1 Mac
強大的PHP整合開發環境

記事本++7.3.1
好用且免費的程式碼編輯器

DVWA
Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中