PHP面向对象的设计

核心思想:
思维永远是超越语言和工具的
测试应该是自动化的,项目应该被划分为非常小的迭代任务,架构和设计应该是共享和不变的系统,而代码可以频繁的进行修改
类特殊函数:
构造函数:__construct()
析构函数:__destruct()(当全部对该类的引用都被重或超出作用域时自动发生(比如脚本结束时,比如unset(obj)时)) 类属性操作:__get(),__set() 类自动加载:__autoload() 打印类:__toString()(当尝试输出echoobj时会被执行)
重载方法:__call(method,p)(当某个函数找不到时候执行,第一个参数是函数名,第二个参数为参数数组)
克隆函数:__clone()(PS:防止其对象类型的属性还是指向同一对象)

public,protect,private:protect和private的数据不能通过obj->方式去调用,但是protect的属性和函数可以被继承 重载:在子类中给某个属性赋予一个与其超类属性不同的默认值或功能,如果也想调用父类的功能,可以使用parent::语句 特殊关键字: final:禁止重载和继承 interface:定义接口 implements:实现接口 static:在一个静态方法中,不能使用this,因为可能没有可以引用的对象实例
clone:允许复制一个已有的对象(如果在复制的对象中定义了__clone(),则该函数会被调用,可以做一些初始化操作,例:$this->param = 0;)
abstract:抽象类
延迟静态绑定:static::

迭代器和迭代:通过使用foreach()方法通过循环的方式取出一个对象的所有属性
反射:通过访问已有类和对象来找到类和对象的结构和内容的能力
例:
require_once('page.inc');
class = new ReflectionClass('Page'); echo ' ' .class . '
';
exit;

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • // 三大特性封装:隐藏内部是吸纳,仅开发接口。继承:一个对象的成员被另一个对象所使用。语法上体现为代码的共用。多...
    老夫不才阅读 4,379评论 0 1
  •   面向对象(Object-Oriented,OO)的语言有一个标志,那就是它们都有类的概念,而通过类可以创建任意...
    霜天晓阅读 6,428评论 0 6
  • 分工 项目报告 数据条件 出国旅游已经成为中国的重要竞争力。下表是关于出国旅游的部分调查数据 表1出国旅游及参团意...
    若及何离丶阅读 3,335评论 7 0
  • 1 下午,拔了个火罐。 总以为自己的身体很好,因为每天跑步5公里,有爱骑行,又很注意饮食,晚上尽量少吃,没应酬尽量...
    原来是酱子阅读 3,764评论 0 0