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()方法!';
            }
        }
    ?>
    
  • 相关阅读:
    千年决心
    编译器及其命令行模式杂谈
    How Microsoft Lost the API War
    再看计算机本科该如何学习
    C++杂记(一)
    C++杂记
    Java IO 学习心得
    VMDq (Virtual Machine Device Queue) in OpenSolaris
    WCHAR and wchar_t 的区别 (zz)
    error C3225: generic type argument for 'T' cannot be 'System::Collections::Generic::KeyValuePair ^',
  • 原文地址:https://www.cnblogs.com/KTblog/p/5076572.html
Copyright © 2011-2022 走看看