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 ...
随机推荐
- 流畅的python 使用一等函数实现设计模式
案例分析:重构“策略”模式 经典的“策略”模式 电商领域有个功能明显可以使用“策略”模式,即根据客户的属性或订单中的商品计算折扣.假如一个网店制定了下述折扣规则. 有 1000 或以上积分的顾客,每个 ...
- Django - 权限(2)- 动态显示单级权限菜单
一.权限组件 1.上篇随笔中,我们只是设计好了权限控制的表结构,有三个模型,五张表,两个多对多关系,并且简单实现了对用户的权限控制,我们会发现那样写有一个问题,就是权限控制写死在了项目中,并且没有实现 ...
- CentOS7.1 KVM虚拟化之linux虚拟机安装(2)
一.上传ISO文件到/data/iso下 这里使用CentOS-5.5-i386-bin-DVD.iso 二.安装CentOS5.5 CentOS7.1 安装KVM虚拟机默认磁盘格式为qcow2(推荐 ...
- 48dp rhythm
- Ionic 3 项目的工程目录结构(转载)
工程目录结构说明如下图
- 搭建ss的步骤
1. 购买vultr产品 购买地址 (这个比较稳定) 2. 更改ssh的端口,混淆一下,我改成了2333 vim /etc/ssh/sshd_config 将里面的port改为2333 更改防火墙规则 ...
- JS 中的substring ,substr ,slice,split,join
substr with different arguments passed in: str.substring(startNum,stopNum ); str.slice(startNum,stop ...
- rsync高级同步
rsync是一款开源的.快速的.多功能的.可实现全量及增量的本地或远程数据同步备份工具.适用于unix/linux/windows等多种操作系统平台. 两台机器拷贝数据scp,nfs(linux之间) ...
- Python(文件处理)
二.基本操作 #r''------------------>> r:原生字符串,不判断符号的含义#文件处理 f=open(r’c:\a.txt’,’r’,encoding=’utf-8’) ...
- ArcGis 获取数据表中某字段唯一值
from:http://www.cnblogs.com/3echo/archive/2006/08/16/478094.html 1 /// <summary> ...