Home >php教程 >php手册 >php延迟静态绑定实例分析

php延迟静态绑定实例分析

WBOY
WBOYOriginal
2016-06-13 09:15:251139browse

php延迟静态绑定实例分析

 这篇文章主要介绍了php延迟静态绑定,实例分析了延迟静态绑定的原理与实现技巧,需要的朋友可以参考下

 

 

本文实例讲述了php延迟静态绑定的方法。分享给大家供大家参考。具体分析如下:

php延迟静态绑定:指类的self,不是以定义时为准,而是以计算时的运行结果为准。先看一个实例

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

header("content-type:text/html;charset=utf-8");

class Human{

public static function hei(){

echo "我是父类的hei()方法";

}

public function say(){//如果子类调用父类的say()方法,则

self::hei();//这里调用的是父类的hei()方法

static::hei();

//这里调用子类的hei()方法,如果子类不存在hei()方法,则调用父类的

}

}

class Stu extends Human{

public static function hei(){

echo "我是子类的hei()方法";

}

}

 

$stu = new Stu();

$stu->say();

?>

 

说明:

(1)子类实例化对象 $stu 调用say方法时,是在父类Human内运行的,所以,say()里的self::hei()是调用父类的hei()方法。

(2)static::方法名():使用static关键词,则首先是在子类里查找该方法;如果找不到,则到父类中查找。

希望本文所述对大家的php程序设计有所帮助。

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn