zoukankan      html  css  js  c++  java
  • 补完 面向对象的关键词以及其他

    //魔术方法
    //构造函数,对类里面成员进行初始化
    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))
    
    
    
     
  • 相关阅读:
    1033 To Fill or Not to Fill (25分)(贪心)
    CentOS(五)--Linux系统的分区概念
    Linux安装Oracle 11G过程(测试未写完)
    【VMware虚拟化解决方案】设计和配置VMware vCenter 5.5
    CentOS(四)--Linux系统的启动级别
    CentOS(三)--初识linux的文件系统以及用户组等概念
    CentOS(二)--初识linux的一些常用命令
    CentOS(一)--CentOS6.4环境搭建
    Linux c/c++图片传输功能(中级版)
    remote uptime 服务器程序
  • 原文地址:https://www.cnblogs.com/xiaoming-6/p/6185242.html
Copyright © 2011-2022 走看看