zoukankan      html  css  js  c++  java
  • php中::的使用

    类中 静态方法和静态属性的引用方法
    1 class Test{
    2      public static $test = 1;
    3     public static function test(){
    4     }
    5 }
    可以不用实例化对象直接使用 Test::$test 来取得$test属性的值
    静态方法调用也同理Test::test(); 直接调用静态方法test

    1用变量在类定义外部访问

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

    2.在类定义外部使用::

        <?php
        class Fruit {
            const CONST_VALUE = 'Fruit Color';
        }
        class Apple extends Fruit
        {
            public static $color = 'Red'; 
            public static function doubleColon() {
                echo parent::CONST_VALUE . "
    ";
                echo self::$color . "
    ";
            }
        }
        Apple::doubleColon();
        ?>
    //Fruit Color Red

    3.调用parent方法

        <?php
        class Fruit
        {
            protected function showColor() {
                echo "Fruit::showColor()
    ";
            }
        }
    class Apple extends Fruit { // Override parent's definition public function showColor() { // But still call the parent function parent::showColor(); echo "Apple::showColor() "; } } $apple = new Apple(); $apple->showColor(); ?>
    //Fruit::showColor()
    //Apple::showColor()

    4.使用作用域限定符

        <?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();
        ?>
    //Banana is yellow

    5.调用基类的方法

    <?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"!
         //show color
  • 相关阅读:
    leetcode Super Ugly Number
    leetcode Find Median from Data Stream
    leetcode Remove Invalid Parentheses
    leetcode Range Sum Query
    leetcode Range Sum Query
    leetcode Minimum Height Trees
    hdu 3836 Equivalent Sets
    hdu 1269 迷宫城堡
    hud 2586 How far away ?
    poj 1330 Nearest Common Ancestors
  • 原文地址:https://www.cnblogs.com/tine/p/6761379.html
Copyright © 2011-2022 走看看