011-对象——interface接口说明与使用方式实例
<?php /** interface接口说明与使用方式实例
*
* 接口里面的方法全是抽象方法,没有实体的方法。这样的类我们就叫做接口。定义的时候用Interface定义。实现接口时用implements。 * 我们的PHP不能多继承。接口可以继承多个接口。
*/ /*interface bing
{
function shengao(); //测量视力:
function sili(); //政治审核
function zengzi();
} //步兵
class bubing implements bing
{
function shengao(){ } //测量视力:
function sili(){ } //政治审核
function zengzi(){ }
} //空军
class kongjun implements bing
{
function shengao(){ } //测量视力:
function sili(){ } //政治审核
function zengzi(){ }
} //海军
class haijun implements bing
{
function shengao(){ } //测量视力:
function sili(){ } //政治审核
function zengzi(){ }
}*/ //usb接口实现的一些动作:
interface usb{
function connect(); //设备和usb链接实现的一些内容
function quit(); //设备和usb断开时实现的一些内容
}
//插线板的接口
interface chaxianban{
const DIANYA="220V";
function charu();//插入
function bachu();//拔出
}
//数码相机,插在电脑上,弹出图片浏览器。U盾 1装驱动 2打开浏览器 手机插在电脑上 //shouji继承了usb和chaxxianban两个接口:
class shouji implements usb,chaxianban {
function connect()
{
echo "手机usb链接时在充电,显示手机内容<br/>";
}
function quit(){
echo "手机usb退出时停止充电";
}
function charu(){
echo "手机通过".self::DIANYA."插线板充电<br/>";
}
function bachu(){
echo "手机离开".self::DIANYA."从插线板上拔出<br/>";
}
} class xiangji implements usb{
function connect()
{
echo "相机在充电,显示图片";
}
function quit(){
echo "相机退出.....";
}
} //插线板:
class cxb{
function charu($obj){
$obj=new $obj();
$obj->charu();
}
function bachu($obj){
$obj=new $obj();
$obj->bachu();
}
}
$cxb=new cxb();
//$cxb->charu("shouji"); $cxb->bachu("shouji"); class pc{
function usbConnect($usb){
$obj=new $usb();
$obj->connect();
}
function usbQuit($usb){
$obj=new $usb();
$obj->quit();
}
}
$sony=new pc();
$sony->usbQuit('shouji'); //文章管理 分类信息栏目 论坛管理 商城栏目 图集栏目
/*interface channel{
function edit();
function del();
}
class arcChannel implements channel{
function edit()
{
echo "文章栏目管理";
}
function del()
{
echo"文章栏目删除";
}
} class infoChanel implements channel{
function edit()
{
echo "分类信息栏目管理";
}
function del()
{
echo"分类信息栏目删除";
}
}
class admin{
function channel($type,$action){
$channel=new $type();
$channel->$action();
}
}
$type=$_GET['m'];
$action=$_GET['a'];
$admin=new admin();
$admin->channel($type,$action);
//浏览器输入地址:http://phpbasic.com/004object/11.php?m=arcChannel&a=edit*/
011-对象——interface接口说明与使用方式实例的更多相关文章
- java中什么是Interface接口, 请给个实例!
1.Interface接口的定义和用法 先直接上大白话:马克-to-win:接口就是灰常灰常抽象的抽象类,我们可以就像用抽象类一样用接口,只不过,interface抽象到不能再抽象了,以至于里面不能 ...
- 2.9_Database Interface ADO结构组成及连接方式实例
说通俗点OLE DB和ODBC都是最底层的东西,而ADO对象给我们提供了一个“可视化”和应用层直接交互的组件,ADO对象T通过OLE DB间接取得数据库中的数据,如下图: 从上面看出,可以说ADO是应 ...
- JAVAEE——Mybatis第一天:入门、jdbc存在的问题、架构介绍、入门程序、Dao的开发方法、接口的动态代理方式、SqlMapConfig.xml文件说明
1. 学习计划 第一天: 1.Mybatis的介绍 2.Mybatis的入门 a) 使用jdbc操作数据库存在的问题 b) Mybatis的架构 c) Mybatis的入门程序 3.Dao的开发方法 ...
- Kotlin基础(三)类、对象和接口
类.对象和接口 一.定义类的继承结构 一)Kotlin中的接口 Kotlin的接口与Java8中相似,它们可以包含抽象方法的定义以及非抽象方法的实现,但它们不能包含任何状态. interface Cl ...
- JAVA 构造器, extends[继承], implements[实现], Interface[接口], reflect[反射], clone[克隆], final, static, abstrac
记录一下: 构造器[构造函数]: 在java中如果用户编写类的时候没有提供构造函数,那么编译器会自动提供一个默认构造函数.它会把所有的实例字段设置为默认值:所有的数字变量初始化为0;所有的布尔变量设置 ...
- java 面向对象(二十四):interface:接口
interface:接口1.使用说明: 1.接口使用interface来定义 * 2.Java中,接口和类是并列的两个结构 * 3.如何定义接口:定义接口中的成员 * * 3.1 JDK7及以前:只能 ...
- C#实现接口的两种方式:显示实现和隐式实现接口
本示例声明一个接口IDimensions 和一个类 Box,显式实现了接口成员 GetLength 和 GetWidth. 通过接口实例 dimensions 访问这些成员. interface ID ...
- ArcGIS Engine开发之旅08--和查询相关的对象和接口
原文:ArcGIS Engine开发之旅08--和查询相关的对象和接口 查询在GIS领域应该是一个很频繁的操作,在GIS中除了具有属性查询(和其他关系型数据库的查询类似),还提供了空间查询.在介绍查询 ...
- as3.0 interface接口使用方法
[转]as3.0 interface接口使用方法 AS在2.0的时候就支持接口了 接口能够让你的程序更具扩展性和灵活性,打个例如 比方你定义了一个方法 代码: public function aMet ...
随机推荐
- django-admin详细设置
Django自带的后台管理是Django明显特色之一,可以让我们快速便捷管理数据.后台管理可以在各个app的admin.py文件中进行控制.以下是我最近摸索总结出比较实用的配置.若你有什么比较好的配置 ...
- Linux下套接字具体解释(九)---poll模式下的IO多路复用server
參照 poll调用深入解析-从poll的实现来讲poll多路复用模型,非常有深度 poll多路复用 poll的机制与select相似,与select在本质上没有多大差别.管理多个描写叙述符也是进行轮询 ...
- ubuntu16.04 tomcat7安装和编码修改(转发:https://blog.csdn.net/zl544434558/article/details/76735564)
有直接通过命令安装的,但是我还是喜欢把文件下载下来,然后自己配置. 1,下载tomcat7二进制文件 https://tomcat.apache.org/download-70.cgi 2,解压tom ...
- C++11中的array
stl中的vector功能相比普通数据而言是要强大很多的,代价是需要动态的内存管理机制(分配,再分配,释放). 而有时候我们只需要普通的数组而已,这就带来了效率上的浪费. array就是用来代替普通的 ...
- 如何修改element.style样式
相信很多朋友在修改主题css时遇到过一些问题,比如说出现这个elememt.style,这个有时候无法直接修改,因为找不到.因此可以通过css中的 !important 语法优先权来实现我们想要的效果 ...
- [TJOI2015]组合数学
题目描述 为了提高智商,ZJY开始学习组合数学.某一天她解决了这样一个问题:给一个网格图,其中某些格子有财宝.每次从左上角出发,只能往右或下走.问至少要走几次才可能把财宝全捡完. 但是她还不知足,想到 ...
- Tomcat 启动内存修改
内存修改文件 Windows 文件 /bin/catalina.bat Linux 文件 /bin/catalina.sh 方法一 # 设置参数 JAVA_OPTS='-Xms[初始化内存大小] -X ...
- Apache 日志管理
日志参数 %% 百分号(Apache2.0.44或更高的版本) %a 远端IP地址 %A 本机IP地址 %B 除HTTP头以外传送的字节数 %b 以CLF格式显示的除HTTP头以外传送的字节数,也就是 ...
- js算法-快速排序(Quicksort)
快速排序(英语:Quicksort),又称划分交换排序(partition-exchange sort),简称快排,一种排序算法,最早由东尼·霍尔提出.在平均状况下,排序n个项目要O(nLogn)次比 ...
- 强大的jQuery幻灯片播放插件 支持全拼、拖拽和下载等功能
在线演示 本地下载