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

php笔记(二)PHP类和对象之Static静态关键字

2016-11-28 20:15 555 查看
 

PHP类和对象之Static静态关键字

静态属性与方法可以在不实例化类的情况下调用,直接使用

类名::方法名
的方式进行调用。静态属性不允许对象使用->操作符调用。

class Car {
private static $speed = 10;

public static function getSpeed() {
return self::$speed;
}
}
echo Car::getSpeed();  //调用静态方法

静态方法也可以通过变量来进行动态调用

 $func = 'getSpeed'; $className = 'Car'; echo $className::$func(); //动态调用静态方法 

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

class Car {
private static $speed = 10;

public static function getSpeed() {
return self::$speed;
}

public static function speedUp() {
return self::$speed+=10;
}
}
class BigCar extends Car {
public static function start() {
parent::speedUp();
}
}

BigCar::start(); //不需要实例化对象,就能访问静态方法
echo BigCar::getSpeed();

定义一个静态方法,实现速度累加10。

<?php
class Car {
private static $speed = 10;

public function getSpeed() {
return self::$speed;
}

//在这里定义一个静态方法,实现速度累加10

public static function speedUP(){
return self::$speed+=10;
}

}

$car = new Car();//实例化一个对象
Car::speedUp();  //调用静态方法加速
echo $car->getSpeed();  //调用共有方法输出当前的速

 总结一下:

1.静态属性用于保存类的公有数据;

2.静态方法里面只能访问静态属性;

3.静态成员不需要实例化对象就可以访问;

4.类的内部可以通过self和static关键字访问自身静态成员

5.可以通过parent关键字访问父类的静态成员

6.可以通过类名称定义一个公共方法在外部访问静态成员

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: