- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
静态延迟绑定,参数的类型约束,对象的遍历精要
静态延迟绑定,static
问题:
1:$this 永远代表所在类的对象?????不是
2:self 永远代码所在类吗?????是
如:
class?P?{ public?static?$where?=?in?P?static?preperty?lt;br?/gt;; public?static?function?sayWhere()?{ echo?self::$where; } } class?C?extends?P?{ public?static?$where?=??in?C?static?preperty?lt;br?/gt;; } echo?P::sayWhere(); echo?C::sayWhere();
输出结果为:
in?P?static?preperty? in?P?static?preperty
显然,当前的逻辑不是十分完善
此时,应该是表示当前类的关键字,最好应该在调用时决定最好(self 办不到)
此时,采用一个新的关键字,代表当前类,与 selft 不同,在于是 运行时调用房室,而不在类编译时就确定好了的!
关键字是:static
示例:
class?P?{ public?static?$where?=?in?P?static?preperty?lt;br?/gt;; public?static?function?sayWhere()?{ echo?self::$where; } public?static?function?sayW()?{ echo?static::$where; } } class?C?extends?P?{ public?static?$where?=??in?C?static?preperty?lt;br?/gt;; } echo?P::sayWhere(); echo?C::sayWhere(); echo?lt;hr?/gt;; echo?P::sayW(); echo?C::sayW();
输出结果为:
in?P?static?preperty? in?P?static?preperty? in?P?static?preperty? in?C?static?preperty
总结:
static关键字的功能:
1:静态局部变量
2:声明静态成员
3:当前类,运行时的当前类
类中,可以表示类的关键字:
self,所在类
static,调用类
parent,父类
参数的类型约束
约束函数,或者方法类参数的类型,只能是某个类的对象
PHP是弱类型:变量可以存储任意类型的数据!
函数,方法的参数也是可以接收任意类型
但是参数,可以被规定为,某个类的固定对象
示例:
class?Student?{ public?$stu_name; } $s?=?new?Student; $s-gt;stu_name?=?Bruce?Lee; function?sayName(Student?$o)?{ echo?Hello?,?,$o-gt;stu_name; } sayName(ginvip);
输出结果为:
Catchable?fatal?error:?Argument?1?passed?to?sayName()?must?be?an?instance?of?Student,?string?given,?called?in?E:\VIP\91.php?on?line?14?and?defined?in?E:\VIP\91.php?on?line?10
在参数前增加类名即可!注意:只支持类名与数组
对象的遍历
对象是一个集合数据类型
简单的遍历,foreach()
foreach() 也可以遍历对象
遍历对象,是依次获得对象拥有的属性的信息
class?Student?{ public?$stu_name; public?$stu_age; public?$stu_gender; } $o?=?new?Student; $o-gt;stu_name?=?Bruce?Lee; $o-gt;stu_age?=?50; $o-gt;stu_gender?=?male; foreach($o?as?$p_name?=gt;?$p_value)?{ var_dump($p_name,$p_value); echo?lt;br?/gt;; }
留意,访问修饰可以影响
如:
class?Student?{ public?$stu_name; public?$stu_age; private?$stu_gender?=?secret; } $o?=?new?Student; $o-gt;stu_name?=?Bruce?Lee; $o-gt
您可能关注的文档
- 青海大学干燥课件第5章第3节固体物料在干燥过程中的平衡关系与速率关系精要.ppt
- 青海省文化竞争力分析评价与提升对策精要.docx
- 青海大学干燥课件第5章第2节干燥过程的物料衡算与热量衡算1精要.ppt
- 青海省青海师大附属第二中学高中生物 2.2土壤中分解尿素的细菌的分离与计数导学案2 新人教版选修1精要.doc
- 建设领域现场专业人员考核管理系统--劳务员题库要点.doc
- 青海高原一株柳 课件精要.ppt
- 建设领域现场专业人员考核管理系统--质检员题库要点.doc
- 建设领域现场专业人员考核管理系统--施工员题库要点.doc
- 青海大学吸收课件第2章第3节吸收塔的计算精要.ppt
- 青蛙效应介绍精要.ppt
最近下载
- 03.可用性验证计划或可用性形成性测试计划.docx VIP
- 质量管理工具比赛.pptx
- 早会游戏绕口令(1).pptx VIP
- 燃气公司各部门安全生产考核细则.pdf VIP
- 人防通风控制箱.pdf VIP
- 湖南省监理员培训考试-监理员题库.pdf VIP
- 2025年北京市中考英语真题卷(含答案与解析).pdf VIP
- 老年慢性肌肉骨骼疼痛热敏灸技术规范.pdf VIP
- 行业标准《氧化锆、氧化铪化学分析方法 第13部分:氧化铪中硼、钠、镁、铝、硅、钙、钛、钒、铬、锰、铁、钴、镍、铜、锌、锆、铌、钼、镉、锡、锑、钽、钨、铅、铋含量的测定 电感耦合等离子体质谱法》编制说明(预审稿).docx VIP
- 关于医院“十五五”五年发展规划(2025年-2029年).docx VIP
文档评论(0)