return self ::$speed+=10 self是什么意思?

来源:2-6 PHP类和对象之Static静态关键字

慕姐4424294

2015-12-05 11:36

如题 这个self是什么意思

写回答 关注

2回答

  • 木子舟义
    2015-12-05 12:14:20
    已采纳

    你这个理解有一点不妥,静态属性外部可以访问,私有属性,保护属性,外部才不能访问,静态属性,外部可以通过类名访问。 比如 在外部直接echo Car::$speed;   (前提是$speed是public的)如果是私有的,就创建共有方法在内部去访问它。 懂了吗?


    木子舟义 回复慕姐4424...

    嗯 是的

    2015-12-05 12:28:29

    共 2 条回复 >

  • 木子舟义
    2015-12-05 11:41:39

    public static $speed = 10;

    中指明了,$speed为静态属性。

    外部不能访问,也就不能用this去访问了。

    静态方法中,this伪变量不允许使用。可以使用self,parent,static在内部调用静态方法与属性。

    self 什么的你可以想成类名。  也就是 return Car::$speed += 10

    慕姐4424...

    我有点懂了 静态的 属性 第一 外部不能访问 那要怎么办呢?怎么访问呢? 就需要 内部 建立一个方法访问吧? 这个方法 我这么写 function getSpeed(){ return self::$speed } 这样写 外部 就可以 调用 这个getSpeed()方法 来得到 属性了吧 然后 我写 $car=new Car() $car->getSpeed() //就可以输出 类里面 $speed的 值了吧? 如果它是10 就会输出10 这样写 可以么?

    2015-12-05 12:09:46

    共 1 条回复 >

PHP进阶篇

轻松学习PHP中级课程,进行全面了解,用PHP快速开发网站程序

181728 学习 · 2575 问题

查看课程

相似问题