zoukankan      html  css  js  c++  java
  • PHP中的__set和__get方法

    当调用或者设置类不存在的方法时,_会调用_set和__get方法

    以下是示例
    <?php
    class HandsonBoy
    {
        private $name = 'chenqionghe';
        private $age = 18;
        public function __set($name,$value)
        {
            echo '您正在设置私有属性'.$name.'<br >值为'.$value.'<br>';
            $this->$name = $value;
        }
        public function __get($name)
        {
            if(!isset($this->$name))
            {
                echo '未设置'.$name;
                $this->$name = "正在为你设置默认值".'<br>';
            }
            return $this->$name;
        }
    }
    $a = new HandsonBoy();
    echo $a->name.'<br />';
    $a->hair = 'short';
    
    PHP的重载和Java等语言的重载不同.Java里,重载指一个类中可以定义参数列表不同但名字相同的多个方法.比如,Java也有构造函数,只要保证方法签名不一样就行;而PHP则在一个类中只允许有一个构造函数.
    PHP提供的重载指动态地创建类属性和方法.因此,__set和__get方法被归到重载里.
  • 相关阅读:
    listview 优化
    重要博客网址
    bottombar——Fragment
    视频播放,,今日头条样式
    databinding
    Picasso
    22222222
    202004leetcode刷题记录
    批量下载邮箱中指定日期范围的附件
    有雾环境下的目标检测
  • 原文地址:https://www.cnblogs.com/chenqionghe/p/4735698.html
Copyright © 2011-2022 走看看