接口是实现多继承的。
举个例子:
鸟 和 猴子
鸟可以飞,猴子可以爬树
还有个对象叫孙悟空 他能飞,也能爬树
这中情况就用接口来实现。
接口实例化对象类似于函数指针。


1 <?php
2 // require_once './meus.php';
3
4 // 接口对象的实例化
5 interface Person
6 {
7
8 public function name();
9 }
10
11 class My implements Person
12 {
13
14 public function name()
15 {
16 echo "myname is x";
17 }
18 }
19
20 class You implements Person
21 {
22
23 public function name()
24 {
25 echo "myname is y";
26 }
27 }
28
29 class Who
30 {
31
32 private $per;
33
34 public function __construct(Person $per)
35 {
36 $this->per = $per;
37 }
38
39 public function sname(){
40 return $this->per->name();
41 }
42
43 }
44
45 $per=new my();
46 $w=new Who($per);
47
48 echo $w->sname();Interface


1 <?php
2 // 接口对象的实例化
3 header ( "Content-Type:text/html;charset=utf-8" );
4 interface monkey {
5 function climb();
6 }
7 interface bird {
8 function fly();
9 }
10
11
12 class Person implements monkey {
13 function climb() {
14 echo "我是一个人类,我也可以像猴子一样爬树哦";
15 }
16 }
17
18 class Plane implements bird {
19 function fly(){
20 echo "飞机也能像鸟儿一样飞";
21 }
22 }
23
24 class Sunhouzi implements monkey, bird {
25 public function climb() {
26 echo "我能爬树!";
27 }
28 public function fly() {
29 echo "我能飞哦!";
30 }
31 }
32
33 class Who{
34 private $interface;
35 public function __construct(monkey $interface){
36 $this->interface=$interface;
37 }
38
39 public function climb(){
40 $this->interface->climb();
41 }
42 }
43
44
45 $s=new Who(new Person());
46 $s->climb();View Code
















