• 补完 面向对象的关键词以及其他


    //魔术方法
    //构造函数,对类里面成员进行初始化
    function __construct()
    {
    }
    //析构函数,在对象释放的时候自动执行
    function __destruct()
    {
    }
    
    //__set方法 赋值
    function __set($name,$value)
    {
    }
    //__get方法 获取
    function __get($name)
    {
    }
    
    //__tostring()方法
    function __tostring()
    {
    }
    
    //__clone方法
    function __clone()
    {
    }
    
    //__autoload方法
    function __autoload($classname)
    {
    }
    
    //关键字
    //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 写在定义类前面的,将该类定义为最终类,则该类不能被继承
    /自动加载类
    //1.所有的类文件要放在同一个文件夹下
    //2.所有类文件的命名规则要一致
    //3.所有类文件的名字要和类名保持一致
    
    function __autoload($classname)
    {
        require "./libs/".$classname.".class.php";
    }
    
    $r = new Ren();
    var_dump($r);
    
    $d = new cat();
    
    
    //__tostring()能够直接输出对象
    
    class Ren
    {
        public $name;
        
        function Run()
        {
            echo "跑";
        }
        
        function __tostring()
        {
            return "name变量代表的是人员名称,Run方法是一个跑的方法";
        }
    }
    
    $r = new Ren();
    echo $r;
    
    所以输出结果是  name变量代表的是人员名称,Run方法是一个跑的方法
    
    
    //克隆对象
    class Ren
    {
        public $name;
        
        function Run()
        {
            echo "跑";
        }
        
        function __tostring()
        {
            return "name变量代表的是人员名称,Run方法是一个跑的方法";
        }
        
        //克隆对象的时候自动调用的方法
        function __clone()
        {
            $this->name = "李四";
        }
    }
    
    $r = new Ren();
    $r->name = "张三";
    
    $r1 = clone $r;
    var_dump($r1);
    var_dump($r);
    
    
    输出结果是(object(Ren)[2]
      public 'name' => string '李四' (length=6)
    object(Ren)[1]
      public 'name' => string '张三' (length=6))
    
    
    
     
  • 相关阅读:
    有关linux查看的命令 及本机yum创建
    linux系统命令1
    手机百度网盘加群方法
    百度网盘保存超限解决办法
    c#委托、泛型委托和匿名方法
    值类型和引用类型的总结
    SQL数据查询语句(一)
    c# Invoke和Begininvoke区别
    c#public、private、protected、internal、protected internal修饰符及访问权限
    C#之打印乘法表
  • 原文地址:https://www.cnblogs.com/xiaoming-6/p/6185242.html
Copyright © 2020-2023  润新知