版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
魔术方法,magicmethod在特定的情况下,会被自动调用的方法,通常负责完成某块独立的功能的方法称之为魔术方法!特点:1,需要用户脚本定义,不定义不执行!2,命名方式都是以__开头!总结:__construct__destruct__sleep__wakeup__set__get__isset__unset__clone__call__callStatic__autoload()//魔术函数__invoke()将一个对象,当作函数调用时,会触发该对象的__invoke()方法,由此方法,就可以调用,没有该方法就不能调用!回想匿名函数$say中是啥?对象!语法是调用对象的语法?为什么,匿名函数对象(ClosureL类对象)可以,但是普通类对象不行?__invoke是php实现匿名函数不可或缺的部分!此时,也可以传递参数,为对象传递参数,就是为invoke魔术方法传递参数!__toString()转换到字符串的意思!当将对象当作字符串使用时,会自动调用该对象的魔术方法!如果此时,存在toString魔术方法,即可以完成转换。toString的返回值,就是转换的结果,一般转换对象的标志性的属性即可!静态延迟绑定,static>=5.3问题:$this永远代表所在类的对象?不是self用于代表所在类么?是,永远代表所在类的对象!看逻辑:显然,当前的逻辑不是十分完善!此时,应该是表示当前类的关键字,最好应该在调用时决定最好!(self不能做到)此时,采用一个新的关键字,代表当前类,与self不同,在于是运行时调用时决定,而不是在类编译时就确定好了的!关键字是:static。总结:static关键字的功能:声明静态局部变量声明静态成员当前类,运行时的当前类!类中,可以表示类的关键字:self,所在类static,调用类parent,父类参数类型约束约束函数,或者方法类参数的类型,只能是某个类的对象!php是弱类型,变量可以存储任意类型的数据!函数,方法的参数也是可以接受任意类型!但是参数,可以被规定为,某个类的固定对象!在参数前增加类名即可!注意,只支持类名!还支持数组!对象的遍历对象是一个集合数据类型!简单的遍历,foreachforeach,可以遍历对象遍历对象,是依次获得对象拥有的属性的信息!留意,访问修饰可以影响!自定义遍历,iterator,迭代器接口场景:在遍历班级时,就相当于,遍历的班级的所有学生,而不不是遍历班级的所有属性!此时,需要使用接口编程实现。foreach时,php回去判断当前所遍历的对象的类,是否类实现一个叫iterator(迭代器)接口!不是的话,就会依次得到对象每个属性!(简单遍历)是的话,会在foreach执行时,通过调用接口内规定的各个方法来完成这个遍历!两个问题:foreach的流程:Iterator接口的内容:预定义的!php定义好了的!显然,php的foreach的五个重要的步骤,依赖于接口中定义的5个方法!编程实现,是需要遍历学生信息:类要实现Iterator接口2依次完善抽象方法常用的对象,类函数is_object();class_exists();interface_exists();get_class();get_parent_class();get_class_vars();得到类的变量(属性)get_class_methods();得到类的方法get_declared_classes();得到所有已经定义的类!可以见,有自定义类,和预定义类!stdClass,内置的标准类!__PHP_Incomplete_ClassC魔术常量__CLASS__,当前类名。注意:可以newself不可以new__CLASS__。__METHOD__,当前方法名。区别__FUNCTION__。__FILE____DIR____LINE____FUNCTION__面向对象的特征封装,继承多态快速排序分治。分而治之!核心思想:解决一个难度为N的问题,与解决2个难度为N/2相比!冒泡解决6个元素的问题?需要比较几次?5,4,3,2,1=15冒泡3个元素的问题两次?2,1=32,1=3思路:将整体的待排序序列,分割成两个部分!分割的原则,跳出一个参考元,将比参考元大的,放一起,比参考元小的放在一起!假设第一个为参考元!接下,再对,分割的两个子序列,再次分割!直到所有的分割的待排序序列内,元素数量为一个或者0个!实现的时候,应该注意:1,选择参考元的问题。编程实现:递归实现!递归点:递归出口:待排序的序列元素
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- T/HBSES 001-2020河北省燃煤电厂颗粒物无组织排放控制指南
- 2026情感计算行业市场应用前景分析及技术商业化路径研究规划分析报告
- 2026年商业银行ESG信息系统建设项目规划
- T/COFA 0016-2023金枪鱼延绳钓电子监控系统配置与应用要求
- 《核酸提取试剂盒》课件
- 2026年生物科技产业创新突破与发展前景报告
- 家校共建和谐校园环境规划
- T/CASAS 043-2024碳化硅金属氧化物半导体场效应晶体管(SiC MOSFET)高温反偏试验方法
- 2026年银行校园招聘行测真题及参考答案
- 商超卖场食品安全管理制度
- T/TMAC 248-2025连续石墨化炉能源消耗限额
- 武汉市2027届高中毕业生九月调研考试物理试卷(含答案及解析)
- 2026年兰州大学物理试题及答案
- 2026广东惠州市博罗县自然资源局补充招聘编外人员6人(第二次)笔试备考题库及答案详解
- IMDG Code 42-24 修正案 锂电池海运包装标记与标签规范 中文版(P903 包装标识更新全解)
- 初中数学七年级上册第一章《数学与我们同行》核心素养知识清单
- 供应链韧性的理论内涵与战略框架构建
- 《生态环境法典》企业负责人合规培训
- 2026年高中数学与思政融合课教学设计
- 2026年超星尔雅人工智能与信息社会通关试卷及参考答案详解(研优卷)
- SEMI S2 半导体制造设备安全指南培训课件
评论
0/150
提交评论