php的多态
p适用平台PHP5.0以上。br / php因为其语法特点,不支持固定变量类型,它是根据上下文来确定当前的类型是什么,即,最后一次赋值是什么类型,现在它就是什么类型。也就不存在将子类
适用平台PHP5.0以上。
php因为其语法特点,不支持固定变量类型,它是根据上下文来确定当前的类型是什么,即,最后一次赋值是什么类型,现在它就是什么类型。也就不存在将子类变量赋给基类变量的说法了。但是php函数的参数,是可以规定类型的,如下面的show函数。如果传递一个不是此类型的参数,将会在运行时报错。废话不多说,看下面代码,大家可以运行运行试试。
欢迎板砖。
<?php /** * 虚基类 */ abstract class T{ abstract function show(); } /** * 子类 */ class T1 extends T { public function show(){ echo "T1 from abstract class!<br/>"; } public function show1(){ echo "T1 not from abstract class!<br/>"; } } /** * 子类 */ class T2 extends T { public function show(){ echo "T2 from abstract class!<br/>"; } public function show1(){ echo "T2 not from abstract class!<br/>"; } } class T3 { public function show(){ echo "in T3!<br/>"; } public function show1(){ echo "in T3!<br/>"; } } $t1 = new T1(); $t2 = new T2(); $t3 = new T3(); show($t1); show($t2); //报错,$t3不是T,所以被show函数调用的时候,会报类型不对的错误 //show($t3); function show( T $t ){//注意参数的类型 $t->show(); $t->show1(); } ?>
- 上一篇:php+txt短网址压缩[自留]
- 下一篇:MySQL操作类
精彩图集
精彩文章