zoukankan      html  css  js  c++  java
  • 013对象—— __clone __toString __call

    <?php
    
    /**
     *
     */
    //__clone()方法对一个对象实例进行的浅复制,对象内的基本数值类型进行的是传值复制
    /*class a
    {
        public $uname;
        public $num;
    
        function _a()
        {
            echo "后盾网免费视频课程";
        }
    
        function b()
        {
            echo "php视频课程";
        }
    
        //克隆函数:
        function __clone()
        {
            $this->num++;
        }
    }
    
    $c = new a();
    //$d=$c;
    //echo intval($c===$d); //获取结果的整数值:
    //$c->uname=100;
    //echo $d->uname;//输出:100
    
    //clone克隆对象:
    $e = clone $c;
    //echo intvalc($e===$c);//输出:0
    echo $e->num;//输出:1*/
    
    
    //__toString:是快速获取对象的字符串信息的便捷方式
    /*class db
    {
        private $host;
        private $user;
        private $pwd;
        private $dbname;
    
        function __construct($host,$user,$pwd,$dbname)
        {
            $this->host = $host;
            $this->user = $user;
            $this->pwd=$pwd;
            $this->dbname=$dbname;
        }
        function _conn(){
            $mysqli=new mysqli($this->host,$this->user,$this->pwd,$this->dbname);
        }
        function _gettable(){
            echo "获得表名";
        }
        function _getFields(){
            echo "获取字段列表";
        }
        function _insert(){
            echo "插入数据";
        }
        function _update(){
            echo "更新数据";
        }
        function __toString()
        {
            //get_class_methods()获取所有类的方法。
            $method=implode("<br/>",get_class_methods(__CLASS__));
    
            //get_object_var($object),返回一个数组。获取$object对象中的属性,组成一个数组
            $vars=get_object_vars($this);
            $str="";
            foreach ($vars as $k=>$v){
                $str.=$k.'=>'.$v."<br/>";
            }
            return $str;
           //return $method;//输出:类中所有的方法出来。
        }
    }
    
    $arc=new db('localhost','root','user','hdcms');
    echo $arc;*/
    
    //__call: 当调用的类的方法不存在的时候执行他。
    class f{
        function _f(){
            echo "3333";
        }
        function __call($methodName, $args)
        {
            //echo $methodName;//输出:_f1
            print_r($args);//输出:Array ( [0] => 11 [1] => 22 [2] => 33 )
        }
    }
    $d=new f();
    $d->_f1(11,22,33);
    

      

  • 相关阅读:
    Python 中的map函数,filter函数,reduce函数
    编程中,static的用法详解
    C++ list容器系列功能函数详解
    python中的configparser类
    310实验室OTL问题----将写好的C++文件转换成Python文件,并将数据可视化
    310实验室OTL问题
    常量指针、指针常量、指向常量的指针常量
    Iterator迭代器的相关问题
    struts2中action中的通配符
    struts2访问servlet API
  • 原文地址:https://www.cnblogs.com/yiweiyihang/p/8021782.html
Copyright © 2011-2022 走看看