分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 前端开发

浅谈PHP面向对象编程(八)

发布时间:2023-09-06 02:18责任编辑:赖小花关键词:PHP面向对象

8.0  多态


在设计一个成员方法时,通常希望该方法具备一定的通用性。例如要实现一个动物叫的方法,由于每个动物的叫声是不同的,因此可以在方法中接收-个动物类型的参数的对象当传人猫类对象时就发出猫类的叫声,传人犬类对象时就发出犬类的叫声,这种向方法中传人不同的对象,方法执行效果各异的现象就是多态。为了让读者更好地拿握多态的用法,接下来通过一个案例来学习,如例8-22所示。

例8-22

 1 <?php 2 ?????//定义Animal接口 3 ????abstract class ?Animal{ 4 ???????????public abstract function shout(); 5 ?????} 6 ????//定义Dog类,实现了Animal接口 7 ????class Dog extends Animal{ 8 ?????????public function shout(){ 9 ????????????echo "汪汪……<br>";10 ?????????}11 ????}12 ?????//定义Cat类,实现了Animal接口13 ?????class Cat extends Animal{14 ?????????public function shout(){15 ?????????????echo "喵喵……<br>";16 ????????}17 ?????}18 ?????function ??AnimalShout($obj){ 19 ?????????if($obj instanceof Animal){20 ?????????????$obj->shout();21 ?????????}else{22 ?????????????echo "Error: 对象错误!";23 ?????????}24 ?????}25 ?????$cat=new ?Cat();26 ?????$dog=new ?Dog();27 ?????AnimalShout($cat);28 ?????AnimalShout($dog);29 ??>

运行结果

在例8-22中通过向Amimaltou方法中传人不同的对象,AnimalShout法打印出不同动物的叫声, 由此可见,多态使程序变得更加灵活,有效的提高了程序的扩展性。

浅谈PHP面向对象编程(八)

原文地址:https://www.cnblogs.com/Prinlily/p/9821640.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved