zoukankan      html  css  js  c++  java
  • PHP

    <?php
        class Person
        {
            private $name = null;
            private $sex  = null;
            private $age  = null;
            
            /**
             * 构造函数
             */
            public function __construct($name)
            {
                $this->name = $name;
            }
            
                  
            /**
             * 析构函数
             */
            public function __destruct()
            {
               echo '使用析构方法,销毁了对象!';
            }
            
            /**
             * 在对象中使用不存在的函数时候调用,
             * @param unknown $paramname   使用的函数名称
             * @param unknown $paramarg    使用函数中的参数,数组形式
             */
            public function __call($paramname,$paramarg)
            {
                if ($paramname == 'abc') {
                    echo '参数名是abc'.'参数是:'.$paramarg;
                } else {
                    echo '参数名不是abc,是'.$paramname.'参数是:'.$paramarg[0];
                }
            }
            
            /**
             * 当对不可访问属性或不存在的属性进行赋值时
             * @param unknown $paramname    属性名称
             * @param unknown $paramarg     属性值
             */
            public function __set($paramname,$paramarg)
            {
                echo '不可访问的参数是:'.$paramname.',值是:'.$paramarg.'<br/>';
            }
            
            /**
             * 当对不可访问属性或不存在的属性取值时候调用
             * @param unknown $paramname  要取值得属性名称
             */
            public function __get($paramname)
            {
                if ($paramname == 'name') {
                    echo '你访问的是name属性,我要加上123'.$this->name.'123';
                }
            }
            
            
            /**
             * 魔术方法,直接输出对象时调用,使用return返回值。
             */
            public function __toString()
            {
                return '您直接输出了对象,如果没有__tostring()方法,会报错!';
            }
            
            
            
            /**
             * 当对不可访问属性或不存在的属性调用 isset() 或 empty() 时,__isset() 会被调用。 
             */
            public function __isset($paramname)
            {
                echo '属性是:'.$paramname.'您对不可访问或不存在的属性使用了isset()或empty()方法!';
            }
        }
    ?>
    
  • 相关阅读:
    fork 函数 和vfork 函数的区别
    进程时间
    输出子进程状态
    二维字符串数组字典排序
    括号匹配
    队列实现二叉树层序遍历
    二叉查找树
    分块查找
    JS中的className含义
    Java打印温度转换表
  • 原文地址:https://www.cnblogs.com/KTblog/p/5076572.html
Copyright © 2011-2022 走看看