PHP中多态,抽象类,接口,

小例子:
需求:公司定义一个接口让我们开发功能
usb.interface.php:
<?php
interface USB{ public function run();
}
store.class.php:
<?php
include_once("./usb.interface.php");
class store implements USB{ public function run(){
$this -> initialize();
} private function initialize(){
echo "store running ..";
}
}
mouse.class.php:
<?php
include_once("./usb.interface.php");
class mouse implements USB{ public function run(){
$this -> init();
} public function init(){
echo "mouse running ...";
}
}
key.class.php:
<?php
include_once("./usb.interface.php");
class key implements USB{ public function run(){
$this -> init();
} public function init(){
echo "key running ..";
}
}
使用:computer.class.php
<?php
include("./mouse.class.php");
include("./store.class.php");
include("./key.class.php"); class computer{ public function useUSB($obj){
$obj -> run();
}
} $computer = new computer(); $computer -> useUSB(new mouse());
echo "<hr />";
$computer -> useUSB(new store());
echo "<hr />";
$computer -> useUSB(new key());
PHP中多态,抽象类,接口,的更多相关文章
- C# 你什么让程序员寂寞成酱紫 (男生版 娱乐中学习 抽象类 接口 继承 实现方法 )
你什么让程序员寂寞成酱紫 (男生版 娱乐中学习 抽象类 接口 继承 实现方法 ) 一个家庭 相当于 一个空间,这个空间里 有 很多元素,比如 爱,爱这个抽象事物,可能有很多动作,接吻.交流,对于一 ...
- 【Java基础】【09面向对象_多态&抽象类&接口】
09.01_面向对象(多态的概述及其代码体现) A:多态(polymorphic)概述 事物存在的多种形态 B:多态前提 a:要有继承关系. b:要有方法重写. c:要有父类引用指向子类对象. C:案 ...
- 06 面向对象:多态&抽象类&接口&权限修饰符&内部类
多态: /* 多态(polymorphic)概述 * 事物存在的多种形态 多态前提 * a:要有继承关系. * b:要有方法重写. * c:要有父类引用指向子类对象. * 成员变量 * 编译看左边(父 ...
- 面向对象 OOP中的抽象类,接口以及多态
[抽象类与抽象方法] 1.什么是抽象方法? 没有方法体{}的方法,必须使用abstract关键字修饰,这样的方法,我们称之为抽象方法. abstract function say() 2.什么是抽象类 ...
- 第52课 C++中的抽象类和接口
1. 什么是抽象类 (1)面向对象中的抽象概念 思考:抽象图形中,图形的面积如何计算? (2)现实中:需要知道具体的图形类型,才能求面积. (3)Shape只是一个概念上的类型,没有具体对象 2. 面 ...
- PHP中的抽象类和接口
PHP抽象类和抽象方法的应用 抽象类 接口 多态 抽象类是以特殊的类,接口是一种特殊的抽象类声明抽象类和接口,以及一些需要的技术抽象类: 什么是抽象方法? 定义:如果一个类中的方法 ...
- Java中关于继承、类、多态、接口的知识点
继承 含义:在面向对象编程中,可以通过扩展一个已有的类,并继承该类的属性和行为,来创建一个新的类 优点:1)代码的重用性:2)子类扩展父类的属性和方法:3)父类的属性和方法可用于子类:4)设计应用程序 ...
- -1-2 java 面向对象基本概念 封装继承多态 变量 this super static 静态变量 匿名对象 值传递 初始化过程 代码块 final关键字 抽象类 接口 区别 多态 包 访问权限 内部类 匿名内部类 == 与 equal
java是纯粹的面向对象的语言 也就是万事万物皆是对象 程序是对象的集合,他们通过发送消息来相互通信 每个对象都有自己的由其他的对象所构建的存储,也就是对象可以包含对象 每个对象都有它的类型 也就是 ...
- python 全栈开发,Day21(抽象类,接口类,多态,鸭子类型)
一.昨日复习 派生方法和派生属性 super 只有在子父类拥有同名方法的时候, 想使用子类的对象调用父类的方法时,才使用super super在类内 : super().方法名(arg1,..) 指名 ...
随机推荐
- Ubuntu(14.04)远程连接windwos(server2008 r2)
只需安装rdeasktop即可, sudo apt-get install rdesktop rdesktop 192.168.1.100 -g 800x600 其他参数 -f 其实用Ubuntu自带 ...
- javascript 事件的一点感悟
javascript 冒泡事件的理解一般是这样的: 比方页面上有一个BODY里面包含一个DIV,DIV中包含一个BUTTON.在BODY,DIV,BUTTON中都有一个ONCLICK事件,在BUTTO ...
- python IDE
提供给开发者 10 款最好的 Python IDE http://www.oschina.net/news/57468/best-python-ide-for-developers vim windo ...
- Android requires compiler compliance level 5.0 or 6.0. Found '1.7' instead
Android requires compiler compliance level 5.0 or 6.0. Found '1.7' instead 在解决问题Underscores can only ...
- cellspacing,cellpadding什么区别
cellspacing设置为“0”,显示的结果就是第一个表格的每个单元格之间的距离为0.若将表格边框设为“0”,则单元格 的距离就是0了cellpadding属性用来指定单元格内容与单元格边界之间的空 ...
- jquery file upload 文件上传插件
1. jquery file upload 下载 jquery file upload Demo 地址:https://blueimp.github.io/jQuery-File-Upload/ jq ...
- [Effective JavaScript 笔记]第64条:对异步循环使用递归
假设需要有这样一个函数,接收一个URL的数组并尝试依次下载每个文件直到有一个文件被成功下载.如果API是同步的,使用循环很简单实现. function downloadOneSync(urls){ f ...
- Tomcat配置文件之servlet.xml中选项介绍
Servlet.xml 分为以下元素: server, service, Connector ( 表示客户端和service之间的连接), Engine ( 表示指定service 中的请求处理机,接 ...
- chrome 开发者工具详解
Google Chrome一共提供了8大组工具: Elements: 允许我们从浏览器的角度看页面,也就是说我们可以看到chrome渲染页面所需要的的HTML.CSS和DOM(Document Obj ...
- pycharm上运行django服务器端、ip地址访问
安装Django 下载Django包,解压缩. CMD 进入解压路径下. 执行:python setup.py install 增加环境变量: C:\Python27\Scripts 测试djang ...