2026年11月2日 · 今日 0 帖 · 会员 6.1万 · 主题 17.4万
登录 · 注册 · 游客,欢迎随便逛逛
返回版块
只看作者:洞房 查看全部
1000
Lv9有为九子能等级图标
勋章勋章勋章勋章勋章
帖子
9.3万
回复
2,089
积分
60.3万
注册
2006-12-06
[怀旧国机]

【繁花殿php资源交流】之self,parent,this的区别以及用法

[复制链接]
查看 215 回复 0
楼主 发表于 | 查看全部
1 人收藏

/*

我对PHP类的理解,个人得出的结论是:

类的属性必须是static静态的话,可以通过self::属性

类的属性定义或是默认为public的话,可以用this访问,因为对象初始化之后可以访问并初始化。

类的父级别方法或属性定义为public的static,可以用parent和this来访问.

如果只定义为public,必须用this访问.

而特殊的情况下可以使用const,它是定义常量的方法,通俗的讲常量是经常使用的变量,但是不能修改。相当于一个全局变量。

同时如果定义一个类的方法为const,就相当于全局函数方法了。

以上观点未必百分之百对,但是实验证明了一切,如有错误,请到www.okpython.com;python中国交流,谢谢.

*/

<?PHP

class test_top{

public $$$$$$$$$$$$$$$$s = \“iam parent class\“;

public static $$$$$$$$$$$$$$$$ss = \“this parent classes\“;

}

class test extends test_top{//class start

public $$$$$$$$$$$$$$$$kv = \“hello,world\“;

public static $$$$$$$$$$$$$$$$kv1 = \“hello,myselfssssss\“;

function __construct(){

print $$$$$$$$$$$$$$$$this->kv; //对象初始化后访问

print self::$$$$$$$$$$$$$$$$kv1; //类本身属性

print parent::$$$$$$$$$$$$$$$$s.\“ssssf\“; //通过parent访问父类公共访问变量s,但是这样访问一定会出错,因为$$$$$$$$$$$$$$$$s不是静态的

print parent::$$$$$$$$$$$$$$$$ss; //通过parent访问父类公共访问静态变量ss

print $$$$$$$$$$$$$$$$this->s; //通过THIS访问父类公共访问变量s

print $$$$$$$$$$$$$$$$this->ss; //可以访问

}

}//class end

$$$$$$$$$$$$$$$$k = new test;

$$$$$$$$$$$$$$$$k;

外部可以直接访问类,无需建立.(注意,方法一定是静态成员组才可以这样访问,否则还是需要用new建立一下的)

test::方法;

登录回复

登录后可以回复这个帖子。旧账号可使用原密码登录。

登录 注册新号
← 返回版块