本文共 788 字,大约阅读时间需要 2 分钟。
主要对类名,类所拥有的方法,以及所传参数起约束和规范做用,感觉跟php abstract 抽象类又有点像。
一,接口的定义和调用 (推荐学习:PHP视频教程)<?php
interface face1
{
const param = 'test';
public function show();
}
class test implements face1
{
public function show()
{
echo "interface is run
";}
}
$face = new test();
echo $face->show(); //inerface is run
echo face1::param; //test
?>
说明:上面的例子要注意一点,接口的方法名是show,继承接口的类中必须有show这个方法,要不然就会报错。也就是说接口的方法是假的,真正起作用的是在继承的类中的方法,就是因为这一点,所以我觉得,接口根php的抽象类有点像。
二,对参数约束比较严<?php
interface face1
{
public function show(show $show);
}
// 显示正常
class test implements face1
{
public function show(show $show)
{
echo "asdfasdf";
}
}
// 报fatal错误
class test2 implements face1
{
public function show(aaa $aaa)
{
}
}
?>
说明:上面的这个例子报fatal错误的,为什么会报fatal错误呢?原因就在所传参数是aaa $aaa,而不是show $show。继承接口类中,调用接口的方法时,所传参数要和接口中的参数名要一至。不然就会报错。
转载地址:http://gadqv.baihongyu.com/