服务器之家:专注于服务器技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - PHP教程 - PHP延迟静态绑定示例分享

PHP延迟静态绑定示例分享

2020-07-10 20:04PHP教程网 PHP教程

在PHP5.3中,给类加入了关键词static,用于实现延迟静态绑定(late static binding),那么我们来看看一个示例来好好学习下

没怎么用过这个新特性,其实也不算新啦,试试吧,现在静态类的继承很方便了

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
<?php
class A {
 protected static $def = '123456';
 
 public static function test() {
  echo get_class(new static);
 }
 
 public static function test2() {
  echo static::$def;
 }
}
 
class B extends A {
 protected static $def = '456789';
}
 
class C extends A {
 protected static $def = 'abcdef';
}
 
echo B::test();
echo '<br>';
echo C::test();
echo '<br>';
echo B::test2();
echo '<br>';
echo C::test2();
echo '<br>';
echo A::test();
echo '<br>';
echo A::test2();
echo '<br>';

 

?
1
2
3
4
5
6
7
// 输出结果
B
C
456789
abcdef
A
123456

延伸 · 阅读

精彩推荐