首页 > 代码库 > 补完 面向对象的关键词以及其他
补完 面向对象的关键词以及其他
//魔术方法 //构造函数,对类里面成员进行初始化 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))
补完 面向对象的关键词以及其他
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。