PHP面向对象多态性实现方法简单示例

2025-05-29 0 66

本文实例讲述了PHP面向对象多态实现方法。分享给大家供大家参考,具体如下:

多态:父类引用指向子类对象(面向对象中能够根据使用类的上下文(使用输入不同的类调用不同类的方法)来重新定义或改变类的性质和行为。);接口引用指向实现接口的类对象。

面向对象把数据(属性),操作数据的方法,逻辑,形成一个类,把类抽象出来形成对象,通过对象使用类;

?

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

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49
<?php

class work{

function polymorphic($obj){

//检查是否引用类型(obj是否继承animal类)

if($obj instanceof animal){

$obj -> fun();

}

else{

echo "no function";

}

}

//如果需要指定类 (指定cat类,包含cat子类)

function bose(cat $obj){

$obj->fun();

}

}

//抽象类

abstract class animal{

abstract function fun();

}

//cat猫类

class cat extends animal{

function fun(){

echo "cat say miaomiao...";

}

}

//dog狗类

class dog extends animal{

function fun(){

echo "dog say wangwang...";

}

}

class mouse extends cat{

}

//先new一个work类

$new_work = new work();

//然后通过new_work对象 调用 polymorphic 方法,传入不同的类实现 父类引用指向子类对象;接口引用指向实现接口的类对象(多态)。

$new_work->polymorphic(new cat());

echo '<br/>';

$new_work->polymorphic(new dog());

echo '<br/>';

//指定类方式仿java

$new_work->bose(new cat());

echo '<br/>';

//如果传输其他类,或者未继承cat类则会报错

//$new_work->bose(new dog());

echo '<br />';

//这也不会报错

$new_work->bose(new mouse());

运行结果:

?

1

2

3

4

5
cat say miaomiao...

dog say wangwang...

cat say miaomiao...

cat say miaomiao...

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

原文链接:http://blog.csdn.net/weixin_36429334/article/details/53115871

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

快网idc优惠网 建站教程 PHP面向对象多态性实现方法简单示例 https://www.kuaiidc.com/94157.html

相关文章

发表评论
暂无评论