<span style="font-size:18px;"><?php 
// 接口
//使用程序模拟现实情况
//定义规范(方法/属性)
interface iUsb{
public function start();
public function stop();
}


//1.当一个类实现了 某个接口,则要求该类必须实现这个接口的所有方法
//编写相机类,让它去实现接口
class Camera implements iUsb{
public function start(){
echo "相机开始工作...<br/>";
}
public function stop(){
echo "相机停止工作...<br/>";
}
}
//编写手机类,实现接口
class Phone implements iUsb{
public function start(){
echo "手机开始工作...<br/>";
}
public function stop(){
echo "手机停止工作...<br/>";
}
}
//如何使用
//创建相机对象
$camera=new Camera();
$camera->start();
$camera->stop();
echo "<br/>";
//手机对象
$phone=new Phone();
$phone->start();
$phone->stop();
echo "<br/>";
?>
<?php
// 1. 接口的使用基本语法
// interface 接口名{
// //属性
// //方法
// }
// 接口不能被实例化
// 接口中的方法都不能有方法体,连方法的大括号也不能有
// 一个类可以实现多个接口,用逗号隔开
// class 类名 implements 接口名1,接口2{
// }
// 接口的作用就是 声明一些方法,供其它类来实现. 接口还体现编程中我们希望的效果 高内聚低耦合 的特点:
// 什么情况下可以考虑使用接口
// 1.定规范
// 2.定下规范,让别的程序员来实现
// 3.当多个类 ,他们之间是平级的关系. 这些类都会去实现某个功能,只是实现的方式不一样.
//韩是项目经理
//学生管理系统 (students)
//定义接口
interface StuManageInterface{
public function addStudent($stu);
public function delStudent($id);
public function updStudent($stu);
}
//给三
class StuManage {
public function tianjiaxuesheng(){
}
}


// 3. 一个类可以去实现多个接口
// 语法:
// class 类名 implements 接口1,接口2{

// }
// 4.接口中可以有属性,但是必须是常量,并且是public
// 接口中不能有变量
interface iUsb2{
const A=90;
}
//可访问接口中的常量
echo "ok".iUsb2::A."<br/>";
// 5.接口的方法是public 【默认就是public 】 ,不能是 protected 和private
// 举例:
interface iUsb3{
const A=90;
function test();
}
echo "ok".iUsb3::A."<br/>";


interface iUsb4{
public function a();
}
interface iUsb5{
public function b();
}
interface iUsb6 extends iUsb4,iUsb5{
const A=90;
function test();
}
class Class1 implements iUsb6{
public function a(){

}
public function b(){

}
public function test(){

}
}
echo "ok".iUsb6::A."<br/>";
// 从上面我们看出
// 一个接口可以继承多个其它的接口.
// 接口不能继承其他的类
?></span>


类和接口之间的关系一览图:

php面向对象编程--接口_类名