1 <?php
 2 //多态案例
 3 //老师会画多边行,传一个图形让ta画就行了
 4 class Teacher{
 5 function drawPolygon(Polygon $polygon){ //弱语言,限定参数类型,php5.3+
 6 $polygon->draw();
 7 }
 8 }
 9 //多边形,可定义为抽象类
10 class Polygon{
11 function draw(){
12 echo "draw a polygon";
13 }
14 }
15 //长方形
16 class ChangFangXing extends Polygon{
17 function draw(){
18 echo "draw a changfangxing";
19 }
20 }
21 //正方形
22 class ZhangFangXing extends Polygon{
23 function draw(){
24 echo "draw a zhangfangxing";
25 }
26 }
27 $teacher = new Teacher();
28 //画一个长方形
29 $teacher->drawPolygon(new ChangFangXing());//draw a changfangxing
30 echo "</br>";
31 //画一个正方方形
32 $teacher->drawPolygon(new ZhangFangXing());//draw a zhangfangxing
33 ?>

转载于:https://www.cnblogs.com/tomAdvance/p/7056678.html

php 多态实现案例相关推荐

  1. JAVA之旅(八)——多态的体现,前提,好处,应用,转型,instanceof,多态中成员变量的特点,多态的案例...

    JAVA之旅(八)--多态的体现,前提,好处,应用,转型,instanceof,多态中成员变量的特点,多态的案例 一.多态 我们今天又要学习一个新的概念了,就是多态,它是面向对象的第三个特征,何谓多态 ...

  2. Java继承多态经典案例分享

    今天动力节点java培训机构小编为大家分享Java继承多态经典案例,希望通过此文能够帮助到大家,下面就随小编一起看看Java继承多态经典案例. public class A { public Stri ...

  3. C++_类和对象_C++多态_案例2_制作饮品---C++语言工作笔记073

    然后我们再去看一个使用多态的案例,可以看到我们需要写一个制作饮品的父类,有公共的纯抽象方法,这个制作饮品的父类做为一个抽象类,然后子类我们有咖啡,有茶... 然后我们去做,可以看到,我们有个抽象的dr ...

  4. 韩顺平 javascript教学视频_学习笔记20_多态经典案例_补讲闭包细节

    多态经典案例 经典案例,看代码: <html> <head> <script language="javascript"> function M ...

  5. C++_类和对象_C++多态_案例3-电脑组装---C++语言工作笔记075

    然后我们再来看一个案例,这个案例,会把大体的代码写一下,然后 后面的内容,可以做为练习,自己实现. 可以看到,如果我们要组装一台电脑的话,首先, 我们有个,CPU的抽象类,有个显卡的抽象类,有个内存条 ...

  6. Java 多态 ——一个案例 彻底搞懂它

    最近,发现基础真的hin重要.比如,Java中多态的特性,在学习中就是很难懂,比较抽象的概念.学的时候就犯糊涂,但日后会发现,基础在日常工作的理解中占有重要的角色. 下面,我将用一个代码实例,回忆和巩 ...

  7. 多态综合案例——电脑的USB 接口

    使用面向对象编程模拟:设计一个电脑对象,可以安装两个USB 设备 鼠标:安装时可以完成接入,调用点击功能,拔出功能 键盘:安装时可以完成接入,调用打字功能,拔出功能 步骤:这两个共有的功能可以创建一个 ...

  8. java多态实现动物叫唤_Java 多态 ——一个案例 彻底搞懂它

    最近,发现基础真的很重要.比如,Java中多态的特性,在学习中就是很难懂,比较抽象的概念.学的时候就犯糊涂,但日后会发现,基础在日常工作的理解中占有重要的角色. 下面,我将用一个代码实例,回忆和巩固多 ...

  9. Java11-day02【多态(成员访问、多态转型、内存图解)、抽象类(成员特点)、接口(成员特点)、类和接口的关系、抽象类和接口的区别、综合案例】

    视频+资料(工程源码.笔记)[链接:https://pan.baidu.com/s/1MdFNUADVSFf-lVw3SJRvtg   提取码:zjxs] Java基础--学习笔记(零起点打开java ...

最新文章

  1. hdu-超级密码(BFS)
  2. engagement center的session.connect
  3. 前端学习(3257):js高级教程(1)准备
  4. 因策划进军餐饮等虚假营销 TikTok前营销主管被开除
  5. python测量镜头到目标距离_摄像头单目测距原理及实现
  6. 大型综合体弱电智能化解决方案标书
  7. Ubuntu10.04下配置和使用JDK-Mysql-Tomcat-SVN
  8. centos6 docker1.7 存储方式修改
  9. c语言原型,C语言原型模式
  10. 企业微信的聊天记录保存在了哪里?
  11. 从OSPO 来思考开源治理问题
  12. excel组合汇总_Excel汇总20151102
  13. Verilog实现呼吸灯效果
  14. mac charles代理设置
  15. 基于PHP+MySQL的美容会所企业资产管理系统
  16. 企业群呼系统呼叫中心系统
  17. excel中的CTRL+E格式选取
  18. 微信小程序如何实时监测网络状态变化?
  19. 为什么说大数据一定会从ABC里最先掉队
  20. 【前端问题分析】从输入 URL 到浏览器接收的过程中发生了什么事情?

热门文章

  1. 最低什么样的学历,才可以选择转行web前端?
  2. 从前景、待遇、入门难度分析,Java和HTML5哪个好
  3. Opencv_printf
  4. 计算机应用技术专业毕业论文,计算机应用技术专科毕业论文范文
  5. 中级联选择中多级选择方法使用_PCB加工中,使用选择性波峰焊的优缺点是什么?...
  6. idea module取得是parent的文件路径_React(或使用TS)中样式混乱解决方案 *.module.less...
  7. 学计算机和摄影哪个好,【干货】如何学习好摄影后期
  8. 几个linux监测工具
  9. 浙江大学 PTA习题3.6 一元多项式的乘法与加法运算 (20分)
  10. UnicodeDecodeError: 'gbk' codec can't decode byte 0xb4 in position xx