- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
回顾
静态: 静态属性和静态方法(类访问)
魔术方法: __tostring()和__clone(): 克隆,从已有对象复制产生一个新对象(不走构造,走克隆)
设计模式
单例模式(三私一公)
工厂模式
面向对象的三大特性: 封装,继承和多态
PHP继承: extends, 对象继承父类对象
继承内容: 所有属性和非私有方法
Protected关键字: 专用于继承(子类和父类内部都可以使用)
继承冲突: 重写override, 属性是覆盖, 方法是替代, parent关键字
继承特性: 不支持多继承, 链式继承(继承链)
特殊类: final类和abstract类
接口: interface, 接口成员(常量和公有抽象方法), 类实现接口(接口继承接口)
Interface DB{
Public function db_insert();
Public function db_update();
}
Abstract DB_Class implements DB{ //增加额外的公共方法或者属性: 非公有,但是需要
//写好额外的其他内容(公共)
Protected function db_error($sql){
//SQL错误验证
}
Protected function db_connect(){
//连接认证
}
Public function __construct(){
$this-db_connect();
}
}
Class Mysql extends DB_Class{ //实现具体操作: 包括抽象方法
//实现抽象方法
Public function db_insert(){//插入}
Public function db_update(){//更新}
}
$m = New Mysql();
$m-db_insert();
工厂单例模式: 见代demo01_factory_singleton.php
重载
重载: overload,重新载入的意思.
面向对象中的重载: 一个类中可以根据不同的需求, 定义同名方法.(PHP不支持)
Class Person{
Public void function eat(){
System.out.println(‘吃饭’);
}
Public void function eat(int money){
System.out.println(‘给钱吃饭’);
}
//以上两个同名方法称之为重载: 具有不同的参数列表或者参数类型
}
Person p = new Person();
P.eat(); //吃饭
P.eat(100); //给钱吃饭
PHP重载
PHP中重载: 当对象或者类去访问一个不存在或者权限不够的属性或者方法的时候,系统会自动触发的魔术方法.
PHP重载分为两种: 属性重载和方法重载
属性重载
__set: 设置属性, 当对象去设置一个不存在的或者权限不够的属性的时候会自动触发的魔术方法
合理的解决方案: 允许设置的应该在内部帮助其设置, 不允许设置的(不处理)
__get: 获取属性
__isset: 判断属性是否存在: 当在外部使用isset函数或者empty函数去判断一个不存在的或者说权限不够的属性的时候,会自动触发的魔术方法
__unset: 销毁对象中的属性: 当对象调用unset函数来删除不存在的或者权限不够的属性的时候会触发
重载意义
对象可以无限的增加自己的属性, 会破坏对象的结构(删除也是如此)
对象去操作一些权限不够的属性的时候,会报错
重载意义
可以保护对象的结构不让破坏(不能无限的增加, 但是可以给出允许范围内的操作)
容错处理: 让代码无论如何操作都不会报错: 增加系统的稳定性,可靠性以及友好型(这种方式是用在对外提供类的情况下)
方法重载
方法重载: 当对象或者类去访问一个不存在或者权限不够的方法的时候会自动触发的魔术方法;
__call: 对象访问方法
通常的解决方案: 在里面帮助访问允许访问的方法: 其他return false
__callStatic: 类访问方法
常见的处理方式: 不允许访问; return false;
在PHP中: 不能定义同名的函数, 类和常量
在团队开发中, 不同的个人开发的时候, 可能出现同名的函数,类或者常量, 需要有一种机制: 即便出现了同名,在进行文件包含的时候, 也不会因为重名而需要修改源代码.
命名空间
命名空间: namespace, 是一种逻辑上的内存分隔, 能够允许在同一块内存中, 存在同名的函数,
您可能关注的文档
最近下载
- 《VisualMINTEQ 软件操作手册:界面导航与功能详解(附图文教程)》.docx VIP
- 2024北师大版三年级上册 第五单元《认识图形》单元测试卷(含解析).pdf VIP
- 湖南省物业管理条例(2025).docx VIP
- 2025年电力行业无人机竞赛理论考试题库及答案详解【有一套】.docx VIP
- (新版)电力行业无人机竞赛理论考试题库(全真题库)含答案.docx VIP
- (新版)电力行业无人机竞赛理论考试题库(全真题库)及完整答案【有一套】.docx VIP
- 蛋白质-能量营养不良案例分析.ppt VIP
- (新版)电力行业无人机竞赛理论考试题库【有一套】.docx VIP
- 幼儿园艺术教育中的问题与对策研究.docx VIP
- (新版)电力行业无人机竞赛理论考试题库(有一套).docx VIP
原创力文档


文档评论(0)