继承中self代表的是什么?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。
<?php
class Fu{
public static $type="Fu";
public static function getType(){
echo self::$type." self<br>";
}
}
class Zi extends Fu{
public static $type="Zi";
}
Fu::gettype();//Fu self
Zi::gettype();//Fu self
?>
由上例所示,self
代表的是当前类,即其所在的父类,而并非继承的子类。
如果在方法被访问时动态的选择来访者所属的类,则需要使用static关
键字代替self
进行类成员访问。
<?php
class Fu{
public static $type="Fu";
public static function getType(){
echo self::$type." self<br>";//类的静态绑定
echo static::$type." static<br>";//类的静态延迟绑定
}
}
class Zi extends Fu{
public static $type="Zi";
}
Fu::gettype();//Fu self Fu self
Zi::gettype();//Fu self Zi static
?>
看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注亿速云行业资讯频道,感谢您对亿速云的支持。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。