您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

PHP多态代码实例_PHP教程

2026/3/29 10:45:43发布8次查看
php多态代码实例          这篇文章主要介绍了php多态代码实例,本文用2个代码实例来演示php中的多态,需要的朋友可以参考下
多态定义:只关心一个接口或者基类,而不关心一个对象的具体类。(同一类型,不同结果)
          这里两个例子:
          第一个,我们发现,基类定义了标准,子类进行了自我规则的实现。这是多态的一个要求。同时,这是满足重写;实际上这是不同类的不同表现;没有严格满足一个接口,或者基类编程。因为你调用的时候不是 stu->showgrade() 而是各自自己的方法;
?
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
class stu{
public function showgrade(){
echo base class;
}
}
class xiaomin extends stu{
public function showgrade(){
echo is son show 80;
}
}
class xiaoli extends stu{
public function showgrade(){
echo is son show 60;
}
}
function doit($obj){
if(get_class($obj) != stu){
$obj->showgrade();
}
}
doit(new xiaoli());
doit(new xiaomin());
第二个例子:dovoice 参数规定了$obj 为animal,意识就是用接口 接受了 实现类对象。了向上转型。这就符合同一类型,不同结果了,这就是多态;
        实际上在java中 会是 animal a = new dog();这样子的;因为php 是若类型语言。没有对象转型机制。
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
interface animal{
public function voice();
}
class cat implements animal{
public function voice(){
echo miao~~~
;
}
}
class dog implements animal{
public function voice(){
echo wang ~~~
;
}
}
function dovoice(animal $obj){
$obj->voice();
}
dovoice(new dog());
dovoice(new cat());
http://www.bkjia.com/phpjc/1022061.htmlwww.bkjia.comtruehttp://www.bkjia.com/phpjc/1022061.htmltecharticlephp多态代码实例 这篇文章主要介绍了php多态代码实例,本文用2个代码实例来演示php中的多态,需要的朋友可以参考下 多态定义:只关心一个...
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product