• 克隆对象、加载类及总结的知识


    1.__tostring()  能够直接输出对象

    class Ren
    {
    	public $name;
    	function Run()
    	{
    		echo "跑";	
    	}
    	function __tostring()   //加上这个方法就可以直接输出对象了
    	{
    		return "name代表人员名称,跑是方法";	
    	}	
    }
    
    
    $r= new Ren();
    echo $r;
    

    2.__clone() 克隆函数:关键字是  clone

    class Ren
    {
    	public $name;
    	function Run()
    	{
    		echo "跑";	
    	}
    	function __tostring()
    	{
    		return "name代表人员名称,跑是方法";	
    	}	
    	
    	//克隆对象时自动调用,对副本可以修改
    	function __clone()
    	{
    		$this->name="李四";     //this代表的是副本   that代表的是原本	
    	}
    }
    
    $r=new Ren();
    $r->name="张三";
    var_dump($r);
    
    $r1=clone $r;   //克隆  关键字 clone
    var_dump($r1);
    

    3.加载类

    类文件保存方式:类名.class.php
    将外界的类文件拿过来用的方式就叫做加载类

    引入方式:

    include和require两中方式的区别:require出现问题后不会使程序崩溃

    1. include("./文件名");     //类文件的文件路径
       include "";    //直接写路径
    
    2. require(""); //类文件的文件路径
       require ""; //直接写路径
    
    3. require_once(""); //类文件的文件路径:请求一次
       require_once ""; //直接写路径

    4.有很多类时,可以使用自动加载类 __autoload($classname)
    注意:

    a.所有的类文件都要在同一个文件夹下;

    b.所有类文件的命名规则要一致;

    c.类名和类文件名要保持一致

    function __autoload($classname)   //类名
    {
    	//加载类的代码
    	require $classname.".class.php";	
    	require "./文件夹名/".$classname.".class.php";	
    }

    //不仅可以引用php文件,其他的也可以

    5.魔术方法总结

    a.构造函数,对类里面成员进行初始化

    function __construct()
    {
    }

    b.析构函数,在对象释放的时候自动执行

    function __destruct()
    {
    }

    c.__set方法

    function __set($name,$value)
    {
    }

    d.__get方法

    function __get($name)
    {
    }

    e.__tostring()方法

    function __tostring()
    {
    }

    f.__clone方法

    function __clone()
    {
    }

    g.__autoload方法

    function __autoload($classname)
    {
    }
    

    6.关键字

    (1)class 定义类
    (2)访问修饰符 public protected private
    (3)new 造对象的关键字
    (4)$this 代表该对象本身
    (5)extends 代表继承
    (6)parent 代表父类
    (7)static 代表静态
    (8)self 代表该类
    (9)abstract 代表抽象,定义抽象类
    (10)interface 代表接口,用来定义接口
    (11)implements 实现接口
    (12)clone 代表克隆
    (13)override 重写
    (14)overload 重载
    (15)oop 代表面向对象
    (16)final 写在定义类前面的,将该类定义为最终类,则该类不能被继承

      

  • 相关阅读:
    CAP.dll of dotnetcore
    GRPC 高性能 RPC 框架, 服务间通讯
    REST Client
    ERP Export
    ERP Update DataSource
    knockout js
    面试题目总结
    JavaScript Objiects and Prototypes
    PLS-00172: string literal too long
    字符串连接性能
  • 原文地址:https://www.cnblogs.com/nuanai/p/6170028.html
Copyright © 2020-2023  润新知