第20章面向对象的工具_第1页
第20章面向对象的工具_第2页
第20章面向对象的工具_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第 20 章 面象的工具学习要点:OOP 的魔术方法类函数和对象函数OOP 的反射 API主讲教师:合作:http:讲师博客:h恢/恢通过类和方法等语言结构支持面象编程。同时也通过对象相关的函数和内置类为面象提供广泛支持。一OOP的魔术方法引入了 autoload()内置方法来自动包含类文件。 autoload()应该被写成单个参数的方法。当引擎遇到试图实例化未知类的操作时,会调用 autoload()方法,并将类名当作字符串参数传递给它。function autoload($_claame) require $_claame.class.;$demo = new Computer();采用了

2、 call()内置方法来在的方法时,会自动调用 call()方法。对象调用方法时产生的错误。当对象调用一个不存private function call($_methodName,$args) echo $_methodName.方法不存在;pr_r($args);$computer-go(我,1,知道);使用 toString()内置方法来打印对象的。没有使用 toString()的对象是产生一个错误,当打印对象的时候会自动调用 toString()方法。class Computer private function toString() return 打印对象;echComputer();

3、可以在类中定义一个 clone()内置方法来调整对象的克隆行为。当一个对象被克隆的时候自动执行 clone()方法,而class Computer public $_name ;public function clone() $this-_name = ibm;的对象可以在其方法体内进行调整。$computer1 = new Computer();$computer1-_name = dell;$computer2 = clone $computer1; echo $computer2-_name;二类函数和对象函数提供了一系列强大的函数来检测类和对象。以便在第使用的是哪个。系统,运行时知道正

4、在1.class_exists()函数接受表示类的字符串,检查并返回布尔值。如果类存在,返回true,否则返回false。echo class_exists(Computer);2.get_class()函数获取对象的类名,如果不是对象,则返回false。echo get_class($computer);3.get_class_methods()函数获取类中的方法(公共的),以数组的形式返回出来。pr_r(get_class_methods($computer);4.get_class_vars()函数获取类中的字段(公共的),以数组的形式返回出来pr_r(get_class_vars(Co

5、mputer);5.get_parent_class()函数获取子类的父类,如果没有返回false。echo get_parent_class(puter);6.erface_exists()函数确定接口是否存在,如果存在返回true,否则返回false。echoerface_exists(Computer);7.is_a()函数确定对象是否是类或者是否是这类的父类时,返回ture,否则返回false。echo is_a($computer,Computer);8.is_subclass_of()函数确定对象是否是类的子类,是返回ture,否则返回false。echo is_subclass_

6、of($puter,Computer);9.method_exists()函数确定对象的方法是否存在,是返回ture,否则返回false。echo method_exists($computer,_run);三OOP的反射API5的类和对象函数并没有告诉类内部的所有一切,而只是了它们的公共成员。要充分了解一个类,需要知道其私有成员和保护成员,还要知道其方法所期望的参数。对此,使用反射API。1.获得反射API的转储信息$rc = new ReflectionClass(Computer); Reflection:export($rc);2.获得内置的类库的信息Reflection:export(new ReflectionClass(Reflection);3.获取类里的某个元素$_rc = new ReflectionClass(Com

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论