zoukankan      html  css  js  c++  java
  • PHP面向对象学习七 总结

    1、对象描述的配置
    方法名 __tostring()
    我们可以直接打印对象句柄,从而获得该方法的基本信息或其他内容。
    class My{
    
    function __tostring ( ){
    
      echo "这是一个PHP分页类";
      
       } 
    }
    $p = new My();
    
    echo $p;
    输出结果:这是一个PHP分页类
    
    可以方便的了解类的信息
    2、对象方法的异常处理
    方法名 __call($funname,$arr_value)
    当正常运行时系统不会调用此方法,如果我们访问了一个不存在的方法时,系统就会自动执行__call(),通过里面的设置,可以反馈给我们相关错误信息。
    class My{
    
    function __call($n,$v){
    
      echo "错误的方法名:".$n;
    
      echo "错误的参数".Print_r($v);//因为参数不只一个,以数组的形式保存,所以用print_r打印。
      
       } 
    }
    当访问了不存在的方法时,系统就会自动提示:错误的方法名:fun 错误的参数...
    3、克隆对象的应用
    方法名 __clone() 
    通过克隆的方式我们可以在内存中生成两个一样的对象或升级原对象。
    <?php
    class my{
    public $name="我的类";
    function __tostring(){
    return "这是一个测试类";
    }
    
    function __call($n,$v){
    echo "不存在的方法:".$n;
    echo "<br/>错误的值:".print_r($v);
    }
    
    function __clone(){
    $this->name="clone后的类";//此时的$this访问的是clone后的对象。此方法可用于clone前的再加工
    }
    
    function __destruct(){
    echo "<br/>清理一个对象<br/>";
    }
    }
    $p=new my();
    //echo $p;//演示__tostring用法
    $p->fun();//演示访问不存在方法时的错误提示
    $b=$p;
    echo "<br/>".$b->name;
    $c=clone $p;
    echo "<br/>".$c->name;
    ?>
    4、自动载入对象的方法
    方法名 __autoload()
    function __autoload($classname){
     
      include($classname.".php");
     
       }
       $p=new Mypc();
      $d=new demo();
    当实例化Mypc和demo两个类时,就自动引入了Mypc.php和demo.php。当实例化Mypc时,$classname就变成了Mypc;当实例化demo时,$classname就变成了demo.同时要注意路径问题
  • 相关阅读:
    创建你的 /proc 文件
    在 /proc 里实现文件
    使用 /proc 文件系统
    printk函数速率限制
    printk函数打开和关闭消息
    printk 函数消息是如何记录的
    mysql存储程序
    Javascript 笔记与总结(1-1)作用域
    Java实现 LeetCode 142 环形链表 II(二)
    Java实现 LeetCode 142 环形链表 II(二)
  • 原文地址:https://www.cnblogs.com/xtmp/p/3619077.html
Copyright © 2011-2022 走看看