接口的概念比较抽象,通俗地说,就是规范了一种类的方法。在大型项目和多人开发的项目中有很大的作用举例说明:<?php // 我们声明一个文章接口, 里面三种方法: 编辑、删除、增加 interface article { public static function edit($name); public static function del($name); public static function add($name); }// 笑话类的文章由某人开发, 那么article类中的三个方法,此类里面也必须有,否则会报错, class joke implements article { public static function edit($name) { echo '你编辑了名称为 : ' . $name . ' 的文章<br />'; } public static function del($name) { echo '你删除名称为 : ' . $name . ' 的文章<br />'; } public static function add($name) { echo '你增加了名称为 : ' . $name . ' 的文章<br />'; } } joke::edit('老鼠爱大米'); joke::del('老鼠爱大米'); joke::add('老鼠爱大米'); ?> 仅个人理解
说白了,就是一个约束,规定,协议,就是规定了一些大家必须遵守的东西。 指定了实现这个接口的类必须提供的功能。 还是举个例子把。<?php interface ICar { public function start(); public function stop(); public function run(); }class bmw implements car{ /** *这些是来自接口的; */ public function start(){ //todo } public function stop(){ //todo } public function run(){ //todo } }class driver{ /** * @var ICar */ private $car; public function driver(ICar $car){ $this->car = $car; } public function drive(){ $this->car->start(); $this->car->run(); $this->car->stop(); } } ?>只要是继承了接口car的车,不管是什么宝马,悍马还是什么,这个司机都能开。 就这么简单。就当他是一个标准就好了 同样,这个司机只能开继承了接口car的车。
上面的class bmw implements car 应为class bmw implements ICar 自己发的帖子自己不能编辑。晕。到。
// 我们声明一个文章接口, 里面三种方法: 编辑、删除、增加
interface article
{
public static function edit($name);
public static function del($name);
public static function add($name);
}// 笑话类的文章由某人开发, 那么article类中的三个方法,此类里面也必须有,否则会报错,
class joke implements article
{
public static function edit($name)
{
echo '你编辑了名称为 : ' . $name . ' 的文章<br />';
}
public static function del($name)
{
echo '你删除名称为 : ' . $name . ' 的文章<br />';
}
public static function add($name)
{
echo '你增加了名称为 : ' . $name . ' 的文章<br />';
}
}
joke::edit('老鼠爱大米');
joke::del('老鼠爱大米');
joke::add('老鼠爱大米');
?> 仅个人理解
指定了实现这个接口的类必须提供的功能。
还是举个例子把。<?php
interface ICar {
public function start();
public function stop();
public function run();
}class bmw implements car{
/**
*这些是来自接口的;
*/
public function start(){
//todo
}
public function stop(){
//todo
}
public function run(){
//todo
}
}class driver{
/**
* @var ICar
*/
private $car;
public function driver(ICar $car){
$this->car = $car;
}
public function drive(){
$this->car->start();
$this->car->run();
$this->car->stop();
}
}
?>只要是继承了接口car的车,不管是什么宝马,悍马还是什么,这个司机都能开。
就这么简单。就当他是一个标准就好了
同样,这个司机只能开继承了接口car的车。
应为class bmw implements ICar
自己发的帖子自己不能编辑。晕。到。