php面向对象编程--接口

<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面向对象编程--接口_第1张图片





你可能感兴趣的:(php面向对象编程--接口)