• get_called_class--后期静态绑定("Late Static Binding")类的名称


    get_called_class--后期静态绑定("Late Static Binding")类的名称

    string get_called_class ( void )

    获取静态方法调用的类名。

    返回类的名称,如果不是在类中调用则返回 FALSE

    <?php 
    class Person{
        public $username;
        public $age;
        public $height;
        public $weight;
        static public $number = 0;
        
        public function __construct($username,$age,$height,$weight){
            $this->username = $username;
            $this->age = $age;
            $this->height = $height;
            $this->weight = $weight;
            self::$number++;
        }
        public function __set($name,$value){
            $this->$name = $value;
        }
        
        public function __get($name){
            return $this->$name;
        }
        /**
         * 1)static方法中不能直接使用非静态成员,因为非静态成员与实例相关,通过实例化间接使用
         * 2)static方法中不能用this(与实例相关)
         * 3)非static方法中可以使用static成员
         
    */
        static public function getUsernumber(){
            var_dump(get_called_class());
            return self::$number;
        }
        
        public function getUsername(){
            var_dump(get_called_class());
            return $this->username;
        }
        
        public function __toString(){
            return '';
        }
    }
    $p_person1 = new Person('zhaofei',23,185,62);
    echo $p_person1->getUsername();
    $p_person2 = new Person('zhaofei1',24,165,68);
    $p_person3 = new Person('zhaofei2',23,180,82);
    $p_person4 = new Person('zhaofei3',22,175,72);
    echo Person::getUsernumber();

    ?> 

  • 相关阅读:
    C# 任务、线程、同步(五)
    C# 任务、线程、同步(四)
    C# 得到本周的第一天和最后一天
    C# Datatable 转实体对象
    C# 任务、线程、同步(三)
    apache的工作模式 和 最大连接数设置
    MySQL中的配置参数interactive_timeout和wait_timeout(可能导致过多sleep进程的两个参数)
    上传图片到另外的服务器
    Brackets
    centos 安装mysql 5.5.12
  • 原文地址:https://www.cnblogs.com/zhouguowei/p/5180289.html
Copyright © 2020-2023  润新知