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()方法!';
            }
        }
    ?>
    
  • 相关阅读:
    qemu-kvm磁盘读写的缓冲(cache)的五种模式
    关于追踪qemu 源码函数路径的一个方法
    准备升大三啦
    关于Vim的一个配置文件
    POJ 3253
    hihocoder 第二十五周 spfa 最短路
    POJ 2718 穷举
    《鸟哥Linux私房菜基础学习篇》命令索引
    博文流
    《SDN核心技术剖析和实战指南》3.3读书笔记
  • 原文地址:https://www.cnblogs.com/KTblog/p/5076572.html
Copyright © 2011-2022 走看看