interface 主讲人: 幻令
概念这里说的接口不是那些api接口什么的,这里所说的接口相当于是一种规范 使用interface关键字定义一个接口,在里面声明一些方法,使用implements继承的类,必须实现里面的方法,而且必须使用和接口中所定义的方法完全一致的方式,否则会导致致命错误
举个栗子定义一个鸟类(class bird),然后鸟类中有会飞的鸟(鹰),不会飞的鸟(企鹅),这时候我们就可以用interface来定义一个飞的接口,老鹰会飞就使用implements来使用fly的接口
- abstract class bird{/** 鸟类的各种共有的特性(共同的代码)*/}
- interface fly{
- public function fly();
- }
- class eagle extends bird implements fly{
- //必须实现fly的代码
- public function fly(){
- echo '老鹰会飞';
- }
- }
- class penguin extends bird{
- /**
- * 企鹅又不会飞,我们可以定义个游泳的接口?这里省略了
- */
- }
interface
- interface a{
- const cl='可以定义常量,但是不能定义属性';
- function func();
- }
implements另外说一下,也接口也可以用extends继承上一个的接口(接口继承)
- class obj implements a{
- function func(){
- echo '必须实现方法';
- }
- }
instanceof验证某个对象是否继承与某个接口或者类
- if($a instanceof fly){
- echo '这家伙会飞';
- }
|