跟着百度学PHP[4]OOP面对对象编程-10-静态关键字static

时间:2023-12-27 19:53:07

使用static关键字可以将类中的成员标识为静态的,既可以用来标识成员属性,也可以用来标识成员方法。

以Person类为例,如果在person类中有一个“$country=’china’”的成员属性,任何一个Person类的对象都会拥有自己的一份$country属性,对象之间不会干扰。

而static成员是作为整个类的属性存在,如果将$country属性使用static关键字标识,则不管通过Person类创建多少个对象(甚至可以是没有对象),这个static成员总是唯一存在的,在多个对象之间共享的。因为使用static标识的成员是属于类的,所以与对象实例和其他的类无关。

类的静态属性非常类似于函数的全局变量,该静态关键词作用域为全局。

目录-----------------------------------

00x1 如何使用static

00x2 如何调用static的属性或变量

---------------------------------------

<?php
class Human
{
public static $name="张大牛"; #这里将$name作为静态标识
public static function say()
{
echo "我是一个学生!";
}
}
class Person
{
public static $name="王大帅";
public static function say()
{
echo "我是一个帅哥!!!";
}
}
echo Person::say()."<br />"; #这里无需使用$this调用,因staic作用域为全局,所用调用方法自然不能用$this。格式:类名::方法或属性 也可以是self::方法或属性
echo Human::say()
?>

输出如下所示:-----------

我是一个帅哥!!!
我是一个学生!

-------------------------

THE END