国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

首頁(yè) 後端開發(fā) php教程 PHP5試用(二)_PHP教程

PHP5試用(二)_PHP教程

Jul 21, 2016 pm 04:11 PM
php5 。 一樣 變數(shù) 可以 定義 實(shí)例 抽象 方法 類別 試用


抽象類別

抽象類別不能被實(shí)例化。
抽象類別與其它類別一樣,允許定義變數(shù)及方法。
抽象類別同樣可以定義一個(gè)抽象的方法,抽象類別的方法不會(huì)被執(zhí)行,不過將有可能會(huì)在其衍生類別中執(zhí)行。

例六:抽象類別

abstract class foo {
protected $x;
abstract function display();
function setX($ x) {
$this->x = $x;
}
}
class foo2 extends foo {
function display() {
// Code
}
}
?>


__call

PHP5 的物件新增了一個(gè)專用方法__call(),這個(gè)方法用來監(jiān)視一個(gè)物件中的其它方法。如果你試著呼叫一個(gè)物件中不存在的方法,__call 方法將會(huì)被自動(dòng)呼叫。

例七:__call

class foo {
function __call($name,$arguments) {
print("Did you call me? I 'm $name!");
}
} $x = new foo();
$x->doStuff();
$x->fancy_stuff();
? >

這個(gè)特殊的方法可以被用來實(shí)現(xiàn)「過載(overloading)」的動(dòng)作,這樣你就可以檢查你的參數(shù)並且透過呼叫一個(gè)私有的方法來傳遞參數(shù)。

例八:使用__call 實(shí)作「過載」動(dòng)作

class Magic {
function __call($name,$arguments) {
if( $name=='foo') {
if(is_int($arguments[0])) $this->foo_for_int($arguments[0]);
if(is_string($arguments[0])) $this->foo_for_string($arguments[0]);
}
} private function foo_for_int($x) {
print("oh an int!");
} private function foo_for_string( $x) {
print("oh a string!");
}
} $x = new Magic();
$x->foo(3);
$x ->foo("3");
?>


__set 和__get

這是一個(gè)很棒的方法,__set 和__get 方法可以用來捕獲一個(gè)物件中不存在的變數(shù)和方法。

例九: __set 和__get

class foo {
function __set($name,$val) {
print("Hello, you tried to put $val in $name");
}
function __get($name) {
print("Hey you asked for $name");
}
}
$x = new foo();
$x->bar = 3;
print($x->winky_winky);
?>


類型指示

在PHP5 中,你可以在物件的方法中指明其參數(shù)必須為另一個(gè)物件的實(shí)例。

例十:型別指示

class foo {
// code ...
}
class bar {
public function process_a_foo(foo $foo) {
// Some code
}
}
$b = new bar();
$f = new foo();
$b- >process_a_foo($f);
?>

可以看出,我們可以顯性的在參數(shù)前指明一個(gè)物件的名稱,PHP5 會(huì)辨識(shí)出這個(gè)參數(shù)將會(huì)要是一個(gè)物件實(shí)例。


靜態(tài)成員

靜態(tài)成員和靜態(tài)方法在面象物件程式設(shè)計(jì)的術(shù)語中被稱作“物件方法(class methods)” 和“物件變數(shù)(class variables)” 。
「物件方法」 在一個(gè)物件沒有實(shí)例化前允許被呼叫。同樣,「物件變數(shù)」 在一個(gè)物件沒有實(shí)例化前可以被獨(dú)立操作控制(不需要用一個(gè)物件的方法來控制)。

例十一:物件方法與物件變數(shù)

class calculator {
static public $pi = 3.14151692;
static public function add($x ,$y) {
return $x $y;
}
}
$s = calculator::$pi;
$result = calculator::add(3,7);
print("$result");
?>


異常處理

異常處理是公認(rèn)的處理程序錯(cuò)誤的理想方法,在Java 及C 中都有這個(gè)概念,我們欣喜的看到,在PHP5 已經(jīng)加入了這方面的應(yīng)用。你可以嘗試使用 “try” 和 “catch” 來控製程式的錯(cuò)誤。

例十二:異常處理

class foo {
function divide($x,$y) {
if($y==0 ) throw new Exception("cannot divide by zero");
return $x/$y;
}
}
$x = new foo();
try {
$x->divide(3,0);
} catch (Exception $e) {
echo $e->getMessage();
echo "n
n";
// Some catastrophic measure here
}
?>

上例中,我們使用了「try」 來執(zhí)行花括號(hào)中的語句,當(dāng)有錯(cuò)誤發(fā)生的時(shí)候,程式碼會(huì)把錯(cuò)誤交給「catch」 子句來處理,在「catch」 子句中,你需要指明要把錯(cuò)誤交給某個(gè)物件處理,這樣做可以讓程式碼結(jié)構(gòu)看起來更清晰,因?yàn)楝F(xiàn)在我們可以把所有的錯(cuò)誤資訊交給一個(gè)物件來處理。


自訂錯(cuò)誤處理

你可以很方便的用自訂的處理錯(cuò)誤的程式碼來控制你的程式中的意外。你僅僅需要從異常類別中派生出一個(gè)自己的錯(cuò)誤控制類,在你自己的錯(cuò)誤控制類中,你需要有一個(gè)建構(gòu)函數(shù)和一個(gè) getMessage 方法,以下是一個(gè)例子。

例十三:自訂錯(cuò)誤處理

class WeirdProblem extends Exception {
private $data;
function WeirdProblem(>private $data;
function WeirdProblem($$ >parent::exception();
$this->data = $data;
}
function getMessage() {
return $this->data . " caused a weird exception!";
}
}
?>

現(xiàn)在我們可以使用「throw new WeirdProblem($foo)」 來拋出一個(gè)錯(cuò)誤句柄,如果錯(cuò)誤在「try」的程式碼區(qū)塊中發(fā)生,PHP5 會(huì)自動(dòng)把錯(cuò)誤交給「catch」 部分來處理。


名稱空間

名稱空間對(duì)類別的分組或函數(shù)分組很有用。它可以把一些相關(guān)的類別或函數(shù)給組合在一起,方便以後呼叫。

例十四:名稱空間

namespace Math {
class Complex {
//...code...
function __construct () {
print("hey");
}
}
} $m = new Math::Complex();
?>

注意你需要在何種情況下使用名稱空間,在實(shí)際運(yùn)用中,你可能會(huì)需要聲明兩個(gè)或多個(gè)名稱一樣的物件來做不同的事情,那麼你就可以把他們分別放到不同的名稱空間中去(但接口是要相同的)。

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/313864.htmlTechArticle抽象類別抽象類別不能被實(shí)例化。 抽象類別與其它類別一樣,允許定義變數(shù)及方法。 抽象類別同樣可以定義一個(gè)抽象的方法,抽象類別的方法不會(huì)被執(zhí)...
本網(wǎng)站聲明
本文內(nèi)容由網(wǎng)友自願(yuàn)投稿,版權(quán)歸原作者所有。本站不承擔(dān)相應(yīng)的法律責(zé)任。如發(fā)現(xiàn)涉嫌抄襲或侵權(quán)的內(nèi)容,請(qǐng)聯(lián)絡(luò)admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費(fèi)脫衣圖片

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅(qū)動(dòng)的應(yīng)用程序,用於創(chuàng)建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

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

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

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

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費(fèi)的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強(qiáng)大的PHP整合開發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

視覺化網(wǎng)頁(yè)開發(fā)工具

SublimeText3 Mac版

SublimeText3 Mac版

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

微信刪除的人如何找回(簡(jiǎn)單教學(xué)告訴你如何恢復(fù)被刪除的聯(lián)絡(luò)人) 微信刪除的人如何找回(簡(jiǎn)單教學(xué)告訴你如何恢復(fù)被刪除的聯(lián)絡(luò)人) May 01, 2024 pm 12:01 PM

而後悔莫及、人們常常會(huì)因?yàn)橐恍┰虿恍⌒膭h除某些聯(lián)絡(luò)人、微信作為一款廣泛使用的社群軟體。幫助用戶解決這個(gè)問題,本文將介紹如何透過簡(jiǎn)單的方法找回被刪除的聯(lián)絡(luò)人。 1.了解微信聯(lián)絡(luò)人刪除機(jī)制這為我們找回被刪除的聯(lián)絡(luò)人提供了可能性、微信中的聯(lián)絡(luò)人刪除機(jī)制是將其從通訊錄中移除,但並未完全刪除。 2.使用微信內(nèi)建「通訊錄恢復(fù)」功能微信提供了「通訊錄恢復(fù)」節(jié)省時(shí)間和精力,使用者可以透過此功能快速找回先前刪除的聯(lián)絡(luò)人,功能。 3.進(jìn)入微信設(shè)定頁(yè)面點(diǎn)選右下角,開啟微信應(yīng)用程式「我」再點(diǎn)選右上角設(shè)定圖示、進(jìn)入設(shè)定頁(yè)面,,

怎麼在番茄免費(fèi)小說app中寫小說 分享番茄小說寫小說方法教程 怎麼在番茄免費(fèi)小說app中寫小說 分享番茄小說寫小說方法教程 Mar 28, 2024 pm 12:50 PM

番茄小說是一款非常熱門的小說閱讀軟體,我們?cè)诜研≌f中經(jīng)常會(huì)有新的小說和漫畫可以去閱讀,每一本小說和漫畫都很有意思,很多小伙伴也想著要去寫小說來賺取賺取零用錢,在把自己想要寫的小說內(nèi)容編輯成文字,那麼我們要怎麼樣在這裡面去寫小說呢?小伙伴們都不知道,那就讓我們一起到本站本站中花點(diǎn)時(shí)間來看寫小說的方法介紹。分享番茄小說寫小說方法教學(xué)  1、先在手機(jī)上打開番茄免費(fèi)小說app,點(diǎn)擊個(gè)人中心——作家中心  2、跳到番茄作家助手頁(yè)面——點(diǎn)擊創(chuàng)建新書在小說的結(jié)

手機(jī)版龍蛋孵化方法大揭密(一步一步教你如何成功孵化手機(jī)版龍蛋) 手機(jī)版龍蛋孵化方法大揭密(一步一步教你如何成功孵化手機(jī)版龍蛋) May 04, 2024 pm 06:01 PM

手機(jī)遊戲成為了人們生活中不可或缺的一部分,隨著科技的發(fā)展。它以其可愛的龍蛋形象和有趣的孵化過程吸引了眾多玩家的關(guān)注,而其中一款備受矚目的遊戲就是手機(jī)版龍蛋。幫助玩家們?cè)谶[戲中更好地培養(yǎng)和成長(zhǎng)自己的小龍,本文將向大家介紹手機(jī)版龍蛋的孵化方法。 1.選擇合適的龍蛋種類玩家需要仔細(xì)選擇自己喜歡並且適合自己的龍蛋種類,根據(jù)遊戲中提供的不同種類的龍蛋屬性和能力。 2.提升孵化機(jī)的等級(jí)玩家需要透過完成任務(wù)和收集道具來提升孵化機(jī)的等級(jí),孵化機(jī)的等級(jí)決定了孵化速度和孵化成功率。 3.收集孵化所需的資源玩家需要在遊戲中

快速掌握:華為手機(jī)開啟兩個(gè)微信帳號(hào)方法大揭密! 快速掌握:華為手機(jī)開啟兩個(gè)微信帳號(hào)方法大揭密! Mar 23, 2024 am 10:42 AM

在現(xiàn)今社會(huì),手機(jī)已經(jīng)成為我們生活中不可或缺的一部分。而微信作為我們?nèi)粘贤?、工作、生活的重要工具,更是?jīng)常被使用。然而,在處理不同事務(wù)時(shí)可能需要分開兩個(gè)微信帳號(hào),這就要求手機(jī)能夠支援同時(shí)登入兩個(gè)微信帳號(hào)。華為手機(jī)作為國(guó)內(nèi)知名品牌,很多人使用,那麼華為手機(jī)開啟兩個(gè)微信帳號(hào)的方法是怎麼樣的呢?下面就來揭秘一下這個(gè)方法。首先,要在華為手機(jī)上同時(shí)使用兩個(gè)微信帳號(hào),最簡(jiǎn)

MySQL 複合主鍵的定義與作用 MySQL 複合主鍵的定義與作用 Mar 15, 2024 pm 05:18 PM

MySQL中的複合主鍵是指表中由多個(gè)欄位組合而成的主鍵,用來唯一標(biāo)識(shí)每筆記錄。與單一主鍵不同的是,複合主鍵由多個(gè)欄位的值組合在一起形成。在建立表格的時(shí)候,可以透過指定多個(gè)欄位為主鍵來定義複合主鍵。為了示範(fàn)複合主鍵的定義與作用,我們先建立一個(gè)名為users的表,其中包含了id、username和email這三個(gè)字段,其中id是自增主鍵,user

全角字符的定義及使用 全角字符的定義及使用 Mar 25, 2024 pm 03:33 PM

什麼是全角字元?在電腦編碼系統(tǒng)中,全角字元是一種佔(zhàn)用兩個(gè)標(biāo)準(zhǔn)字元位置的字元編碼方式。相對(duì)應(yīng)的,佔(zhàn)用一個(gè)標(biāo)準(zhǔn)字元位置的字元編碼方式稱為半角字元。全角字元通常用於中文、日文、韓文等亞洲文字的輸入、顯示和列印。在中文輸入法和文字編輯中,全角字符與半角字符的使用場(chǎng)景是有所區(qū)別的。全角字符的使用中文輸入法:在中文輸入法中,通常全角字符用於輸入中文字符,例如漢字、標(biāo)

Go語言方法與函數(shù)的差異及應(yīng)用場(chǎng)景解析 Go語言方法與函數(shù)的差異及應(yīng)用場(chǎng)景解析 Apr 04, 2024 am 09:24 AM

Go語言方法與函數(shù)的差異在於與結(jié)構(gòu)體的關(guān)聯(lián)性:方法與結(jié)構(gòu)體關(guān)聯(lián),用於操作結(jié)構(gòu)體資料或方法;函數(shù)獨(dú)立於類型,用於執(zhí)行通用操作。

See all articles