源来页 公告 登陆

面向对象 PHP 类的静态成员属性与静态方法 static

composer @Ta
2016-06-02 21:04

例子:
<?php
Class Person{
    // 定义静态成员属性
    public static $country = "中国";
    // 定义静态成员方法
    public static function myCountry() {
        // 内部访问静态成员属性
        echo "我是".self::$country."人<br />";
    }
}
class Student extends Person {
    function study() {
        echo "我是". parent::$country."人<br />";
    }
}
// 输出成员属性值
echo Person::$country."<br />";		// 输出:中国
$p1 = new Person();
//echo $p1->country;			// 错误写法
// 访问静态成员方法
Person::myCountry();			// 输出:我是中国人
// 静态方法也可通过对象访问:
$p1->myCountry();

// 子类中输出成员属性值
echo Student::$country."<br />";	// 输出:中国
$t1 = new Student();
$t1->study();				// 输出:我是中国人
?>

运行该例子,输出:
中国
我是中国人
我是中国人
中国
我是中国人
小结
在类内部访问静态成员属性或者方法,使用 self::(注意不是 $self),如:

self:: $country
self:: myCountry()


在子类访问父类静态成员属性或方法,使用 parent::(注意不是 $parent),如:

parent:: $country
parent:: myCountry()


外部访问静态成员属性和方法为 类名/子类名:: ,如:

Person::$country
Person::myCountry()
Student::$country

但静态方法也可以通过普通对象的方式访问。

最后编辑:2019-07-28 18:20
阅:2263 发表于2016-06-02 21:04
#php教程
评论:
ai在被窝里 @Ta
2016-06-06 01:24

沙发


返回源来页/返回首页


天合之作 曲在人意

心灵鸡汤:
      

®2019-2024 all power by Zlproject3.7
川公网安备 51192202000151号
蜀ICP备2021014921号-2 首页 #top

本网站由提供CDN加速/云储存服务

天合之作 曲在人意