问答详情
源自:5-10 [PDO] 数据库操作类之删除记录

为什么所有的方法都是static呢?

不能用$this->function()吗?感觉外面也不需要使用封装的所有方法啊,比如处理where,field,order,group等等这些方法。

所以用静态方法有什么必要性吗?谢谢

提问者:leekale 2016-07-26 20:40

个回答

  • 秋枫酱
    2018-10-01 21:33:37

    我觉得应该是因为不用实例化 调用方便

  • 9527_24
    2016-08-09 10:46:12

    我也不太懂,但我跟一样也觉很奇怪,也有这样的疑惑。 我去查php手册Static关键字

    获得一些这样的信息:

    本页说明了用 static 关键字来定义静态方法和属性。static 也可用于定义静态变量以及后期静态绑定。参见上述页面了解 static 在其中的用法。

    声明类属性或方法为静态,就可以不实例化类而直接访问静态属性不能通过一个类已实例化的对象来访问(但静态方法可以)。

    由于静态方法不需要通过对象即可调用,所以伪变量$this在静态方法中不可用

    静态属性不可以由对象通过 ->操作符来访问。 

    我觉得最关键:声明类属性或方法为静态,就可以不实例化类而直接访问。静态属性不能通过一个类已实例化的对象来访问(但静态方法可以)。

    唉 自己还是没明白 求大神指导