<?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接口说明与使用方式实例的更多相关文章

  1. java中什么是Interface接口, 请给个实例!

    1.Interface接口的定义和用法  先直接上大白话:马克-to-win:接口就是灰常灰常抽象的抽象类,我们可以就像用抽象类一样用接口,只不过,interface抽象到不能再抽象了,以至于里面不能 ...

  2. 2.9_Database Interface ADO结构组成及连接方式实例

    说通俗点OLE DB和ODBC都是最底层的东西,而ADO对象给我们提供了一个“可视化”和应用层直接交互的组件,ADO对象T通过OLE DB间接取得数据库中的数据,如下图: 从上面看出,可以说ADO是应 ...

  3. JAVAEE——Mybatis第一天:入门、jdbc存在的问题、架构介绍、入门程序、Dao的开发方法、接口的动态代理方式、SqlMapConfig.xml文件说明

    1. 学习计划 第一天: 1.Mybatis的介绍 2.Mybatis的入门 a) 使用jdbc操作数据库存在的问题 b) Mybatis的架构 c) Mybatis的入门程序 3.Dao的开发方法 ...

  4. Kotlin基础(三)类、对象和接口

    类.对象和接口 一.定义类的继承结构 一)Kotlin中的接口 Kotlin的接口与Java8中相似,它们可以包含抽象方法的定义以及非抽象方法的实现,但它们不能包含任何状态. interface Cl ...

  5. JAVA 构造器, extends[继承], implements[实现], Interface[接口], reflect[反射], clone[克隆], final, static, abstrac

    记录一下: 构造器[构造函数]: 在java中如果用户编写类的时候没有提供构造函数,那么编译器会自动提供一个默认构造函数.它会把所有的实例字段设置为默认值:所有的数字变量初始化为0;所有的布尔变量设置 ...

  6. java 面向对象(二十四):interface:接口

    interface:接口1.使用说明: 1.接口使用interface来定义 * 2.Java中,接口和类是并列的两个结构 * 3.如何定义接口:定义接口中的成员 * * 3.1 JDK7及以前:只能 ...

  7. C#实现接口的两种方式:显示实现和隐式实现接口

    本示例声明一个接口IDimensions 和一个类 Box,显式实现了接口成员 GetLength 和 GetWidth. 通过接口实例 dimensions 访问这些成员. interface ID ...

  8. ArcGIS Engine开发之旅08--和查询相关的对象和接口

    原文:ArcGIS Engine开发之旅08--和查询相关的对象和接口 查询在GIS领域应该是一个很频繁的操作,在GIS中除了具有属性查询(和其他关系型数据库的查询类似),还提供了空间查询.在介绍查询 ...

  9. as3.0 interface接口使用方法

    [转]as3.0 interface接口使用方法 AS在2.0的时候就支持接口了 接口能够让你的程序更具扩展性和灵活性,打个例如 比方你定义了一个方法 代码: public function aMet ...

随机推荐

  1. redis 字符串和集合操作

    字符串 redis中的String在在内存中按照一个name对应一个value来存储 set() #在Redis中设置值,默认不存在则创建,存在则修改 r.set('name', 'zhangsan' ...

  2. 我的Android进阶之旅------>解决Error:Unable to find method 'org.gradle.api.internal.project.ProjectInternal.g

    错误描述 今天在Github上面下载了一份代码,然后导入到Android Studio中直接报了如下图所示的错误: 错误描述如下: Error: Unable to find method 'org. ...

  3. MySQL数据库(2)- 库的操作、表的操作、数据的操作、存储引擎的介绍

    一.库的操作 1.系统数据库 执行如下命令,查看系统数据库: mysql> show databases; 参数解释: information_schema: 虚拟库,不占用磁盘空间,存储的是数 ...

  4. discuz手机版图片缩略图大小设置/修改清晰度

    discuz手机版 图片缩略图大小设置/修改清晰度 \template\default\mobile\forum\discuzcode.htm和 \template\default\touch\for ...

  5. blogCMS中出现的错误整理

    1.在写日期归档的时候,出现如下错误: not enough values to unpack (expected 2, got 1) 出现这个错误是因为:字符串需要能够split成2份才能赋值给2个 ...

  6. go——通道

    相比Erlang,go并未实现严格的并发安全.允许全局变量.指针.引用类型这些非安全内存共享操作,就需要开发人员自行维护数据一致和完整性.Go鼓励使用CSP通道,以通信来代替内存共享,实现并发安全.作 ...

  7. LeetCode:全排列II【47】

    LeetCode:全排列II[47] 参考自天码营题解:https://www.tianmaying.com/tutorial/LC47 题目描述 给定一个可包含重复数字的序列,返回所有不重复的全排列 ...

  8. 09 Spring框架 AOP (二) 高级用法

    上一篇文章我们主要讲了一点关于AOP编程,它的动态考虑程序的运行过程,和Spring中AOP的应用,前置通知,后置通知,环绕通知和异常通知,这些都是Spring中AOP最简单的用法,也是最常用的东西, ...

  9. python 课堂笔记-购物车

    # Author:leon production_list = [ ('iphone',5800), ('mac pro', 9800), ('bike', 800), ('watch', 10600 ...

  10. datagrid 编辑

    spark:DataGrid编辑状态进入需要在选中一行高亮状态之后,再次点击该单元格,这样,相信非常符合开发人员的控制手法及大众使用习惯,这,是一点非常好的改良. 同时,它取缔了itemEditEnd ...