您的位置:首页 > 编程语言 > PHP开发

PHP核心技术与最佳实践学习(一)面向对象

2015-11-17 20:47 666 查看

类和对象

类是定义一系列属性和操作的模版
对象把属性具体化
对象就是数据,对象本身不包含方法,但是对象有一个指针指向一个类
类和对象不可分割,有对象就必然有一个类与其对应
特殊情况:由标量进行强制类型转换的object,没有一个类和它对应,这时PHP中有一个类叫stdClass就会收留这个对象


魔术方法

魔术方法用'__'开头
__construct 构造函数 __destruct 析构函数
__set 和 __get 对对象属性赋值或者取值
__call 和 __callStatic 调用不存在的方法或静态方法时调用
__call($name , $arguments)要调用的方法名称和参数数组
__toString() 如果类定义了该方法,那么在echo 对象是会调用该方法


继承

继承与多态都是对类进行复用,一个是类级别的复用,一个是方法级别的复用
继承 class person{} class family extends person{}
调用父类参数、方法 parent::$a parent::fun()
调用自身参数、方法 self::$a self::fun()
如果声明类成员或方法为static 就可以不实例化类而直接访问
对于不是专门用于被继承的类,禁止其被继承,使用final修饰符
优秀考虑用组合关系提高代码的可重用性
底层代码多用组合,顶层/业务层代码多用继承
Traits既可以使单继承模式的语言获得多继承的灵活,又可以避免多继承带来的种种问题


多态

含义:同一类的对象收到相同消息时,会得到不同的结果。
真正意义:多态性是一种通过多种状态或阶段描述相同对象的编程方式,实际开发中,只要关心一个接口或基类的编程,而不是关心一个对象所属于的具体类。
多态的本质就是if else
通过接口可以实现PHP多态


接口

接口这样描述自己:对于实现我的所有类,看起来都应该像我现在这个样子
interface xxx {方法定义}  class yyy implements xxx{具体实现} yyy去具体实现xxx中的定义的方法
接口为抽象而生


反射

反射指在PHP运行状态中,扩展分析PHP程序,导出或提取出关于类、方法、属性、参数等详细信息,包括注释。


异常和错误处理

异常和错误是两个概念
PHP通常是无法自动捕获有意义的异常,它把所有不正常的情况都视为错误,只有你主动throw后,才能捕获异常。
PHP中通过重写异常类、手动抛出错误的方式进行异常处理
PHP错误就是会使脚本运行不正常的情况
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: