日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > php >内容正文

php

php中的冒号应用,php中双冒号的应用

發(fā)布時(shí)間:2024/9/19 php 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 php中的冒号应用,php中双冒号的应用 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

php類代碼中常看到"::"的操作符,這個(gè)是作用域限定操作符,是用一個(gè)雙冒號(hào)"::"表示,它用來(lái)置頂類中不同作用域的級(jí)別。左邊是作用域右邊是訪問(wèn)作用域的成員。

在php中定義的作用域有self和parent兩種(在php6中提供了static作用域)。

self:表示當(dāng)前類的作用域,與this不同的是它不表示類的某個(gè)特定實(shí)例,在類之外的代碼中不能使用self,而且它不能識(shí)別自己在繼承中層次的位置。也就是說(shuō),當(dāng)在擴(kuò)展類中使用self時(shí),它調(diào)用的不是父類的方法,而是擴(kuò)展類的重載的方法。

parent:表示當(dāng)前類父類的作用域,其余的跟self特性一樣。

舉例說(shuō)明php雙冒號(hào)::操作符:<?php

class forasp{

static $url="http://blog.csdn.net/abandonship";

static $webname = "PHP學(xué)習(xí)之雙冒號(hào)的用法";

public function writeurl(){

echo self::$url;//調(diào)用自己的內(nèi)容

}

public function writewebname(){

echo "測(cè)試子類調(diào)用父類內(nèi)容";

}

}

class cn extends forasp{

function father(){

parent::wirtewebname();

}

}

$a = new forasp();//實(shí)例化父類

$a->writeurl();//調(diào)用自身內(nèi)容

$b = new cn();

$b->writewebname();//調(diào)用父類內(nèi)容

?>

在調(diào)用靜態(tài)方法中也可以使用::來(lái)調(diào)用類中的靜態(tài)方法或者屬性,這樣可以減少資源使用,因?yàn)槊總€(gè)類的實(shí)例都會(huì)占有一部分資源。

php6中提出static::作用域,是我們不再需要self::和parent::。希望指向最終的實(shí)現(xiàn)功能的類時(shí),就用static::,這個(gè)限定符會(huì)在代碼執(zhí)行前立即計(jì)算出繼承層中最后那個(gè)類的成員,這一過(guò)程叫做延遲綁定。

“雙冒號(hào)操作符”也或稱為“作用域限定操作符”(Scope Resolution Operator)可以訪問(wèn)靜態(tài)、const和類中重寫(xiě)的屬性與方法。

在類定義外使用的話,使用類名調(diào)用。在PHP 5.3.0,可以使用變量代替類名。

Program List:用變量在類定義外部訪問(wèn)<?php

class Fruit {

const CONST_VALUE = 'Fruit Color';

}

$classname = 'Fruit';

echo $classname::CONST_VALUE; // As of PHP 5.3.0

echo Fruit::CONST_VALUE;

?>

Program List:在類定義外部使用雙冒號(hào)(::)<?php

class Fruit {

const CONST_VALUE = 'Fruit Color';

}

class Apple extends Fruit

{

public static $color = 'Red';

public static function doubleColon() {

echo parent::CONST_VALUE . "\n";

echo self::$color . "\n";

}

}

Apple::doubleColon();

?>

程序運(yùn)行結(jié)果:

Fruit Color Red

Program List:調(diào)用parent方法

Php代碼<?php

class Fruit

{

protected function showColor() {

echo "Fruit::showColor()\n";

}

}

class Apple extends Fruit

{

// Override parent's definition

public function showColor()

{

// But still call the parent function

parent::showColor();

echo "Apple::showColor()\n";

}

}

$apple = new Apple();

$apple->showColor();

?>

程序運(yùn)行結(jié)果:

Fruit::showColor()

Apple::showColor()

Program List:使用作用域限定符

Php代碼<?php

class Apple

{

public function showColor()

{

return $this->color;

}

}

class Banana

{

public $color;

public function __construct()

{

$this->color = "Banana is yellow";

}

public function GetColor()

{

return Apple::showColor();

}

}

$banana = new Banana;

echo $banana->GetColor();

?>

程序運(yùn)行結(jié)果:

Banana is yellow

Program List:調(diào)用基類的方法

Php代碼<?php

class Fruit

{

static function color()

{

return "color";

}

static function showColor()

{

echo "show " . self::color();

}

}

class Apple extends Fruit

{

static function color()

{

return "red";

}

}

Apple::showColor();

// output is "show color"!

?>

程序運(yùn)行結(jié)果:

show color

本條技術(shù)文章來(lái)源于互聯(lián)網(wǎng),如果無(wú)意侵犯您的權(quán)益請(qǐng)點(diǎn)擊此處反饋版權(quán)投訴

本文系統(tǒng)來(lái)源:php中文網(wǎng)

總結(jié)

以上是生活随笔為你收集整理的php中的冒号应用,php中双冒号的应用的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。