双冒号 ::在PHP中的使用情况
前几天在百度知道里面看到有人问PHP中双冒号::的用法,当时给他的回答比较简洁因为手机打字不大方便!今天突然想起来,所以在这里总结一下我遇到的双冒号::在PHP中使用的情况!
双冒号操作符即作用域限定操作符ScopeResolutionOperator可以访问静态、const和类中重写的属性与方法。
在类定义外使用的话,使用类名调用。在PHP5.3.0,可以使用变量代替类名。
ProgramList:用变量在类定义外部访问
<?php
classFruit{
constCONST_VALUE='FruitColor';
}
$classname='Fruit';
echo$classname::CONST_VALUE;//AsofPHP..
echoFruit::CONST_VALUE;
?>
ProgramList:在类定义外部使用::
<?php
classFruit{
constCONST_VALUE='FruitColor';
}
classAppleextendsFruit
{
publicstatic$color='Red';
publicstaticfunctiondoubleColon(){
echoparent::CONST_VALUE."\n";
echoself::$color."\n";
}
}
Apple::doubleColon();
?>
程序运行结果:
FruitColorRed
ProgramList:调用parent方法
<?php
classFruit
{
protectedfunctionshowColor(){
echo"Fruit::showColor()\n";
}
}
classAppleextendsFruit
{
//Overrideparent'sdefinition
publicfunctionshowColor()
{
//Butstillcalltheparentfunction
parent::showColor();
echo"Apple::showColor()\n";
}
}
$apple=newApple();
$apple->showColor();
?>
程序运行结果:
Fruit::showColor()
Apple::showColor()
ProgramList:使用作用域限定符
<?php
classApple
{
publicfunctionshowColor()
{
return$this->color;
}
}
classBanana
{
public$color;
publicfunction__construct()
{
$this->color="Bananaisyellow";
}
publicfunctionGetColor()
{
returnApple::showColor();
}
}
$banana=newBanana;
echo$banana->GetColor();
?>
程序运行结果:
Bananaisyellow
ProgramList:调用基类的方法
<?php
classFruit
{
staticfunctioncolor()
{
return"color";
}
staticfunctionshowColor()
{
echo"show".self::color();
}
}
classAppleextendsFruit
{
staticfunctioncolor()
{
return"red";
}
}
Apple::showColor();
//outputis"showcolor"!
?>
程序运行结果:
showcolor
以上内容给大家详解了::在PHP中的使用情况,希望大家喜欢。
热门推荐
1 训练狗狗憋尿
2 狗狗追踪训练
3 狗狗训练要多少钱
5 深圳狗狗训练
6 训练狗狗唤回
7 狗狗叫怎么训练
8 狗狗训练班
10 狗狗社会化训练
11 狗狗叫回训练
12 广州狗狗训练学校
13 狗狗训练躺下
14 狗狗随行训练
15 训练狗狗巡回
16 狗狗要怎么训练
17 狗狗喂食训练
18 训练狗狗躺下