Heim > php教程 > php手册 > PHP作用域限定符双冒号::的用法

PHP作用域限定符双冒号::的用法

WBOY
Freigeben: 2016-06-13 09:38:53
Original
1063 Leute haben es durchsucht

双冒号操作符即作用域限定操作符Scope Resolution Operator可以访问静态、const和类中重写的属性与方法。

在类定义外使用的话,使用类名调用。在PHP 5.3.0,可以使用变量代替类名。

Program List:用变量在类定义外部访问

    
<?php
class Fruit {
    const CONST_VALUE = 'Fruit Color';
}
$classname = 'Fruit';
echo $classname::CONST_VALUE; // As of PHP 5.3.0
echo Fruit::CONST_VALUE;
?>
Nach dem Login kopieren

Program List:在类定义外部使用::

  
<?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();
?>
Nach dem Login kopieren

程序运行结果:

Fruit Color Red
Nach dem Login kopieren

Program List:调用parent方法

  
<?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();
?>
Nach dem Login kopieren

程序运行结果:

Fruit::showColor() 
Apple::showColor()
Nach dem Login kopieren

Program List:使用作用域限定符

  
<?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();
?>
Nach dem Login kopieren

程序运行结果:

Banana is yellow
Nach dem Login kopieren

Program List:调用基类的方法

    
<?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"!
?>
Nach dem Login kopieren

程序运行结果:

show color
Nach dem Login kopieren
Verwandte Etiketten:
php
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Empfehlungen
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage