一,接口的定义和调用 (推荐学习:php视频教程)
<?phpinterface face1{const param = 'test';public function show();}class test implements face1{public function show(){echo "interface is run<br>";}}$face = new test();echo $face->show(); //inerface is runecho face1::param; //test?>
说明:上面的例子要注意一点,接口的方法名是show,继承接口的类中必须有show这个方法,要不然就会报错。也就是说接口的方法是假的,真正起作用的是在继承的类中的方法,就是因为这一点,所以我觉得,接口根php的抽象类有点像。
二,对参数约束比较严
<?phpinterface 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。继承接口类中,调用接口的方法时,所传参数要和接口中的参数名要一至。不然就会报错。
以上就是php接口由什么组成的详细内容。
