类中接口的应用2011/9/8
类中接口的应用
接口:一种成员属性全部为抽象的特殊抽象类,在程序中同为规范的作用
| 1、类中全部为抽象方法 2、抽象方法前不用加abstract 3、接口抽象方法属性为public 4、成员属性必须为常量 | 
| 1、类中至少有一个抽象方法 2、抽象方法前需加abstract | 
| 接口 | 
| 区别 | 
| 共同点: | 
| 1、本身都不能被实例化,必须被继承或者引用 2、继承或者引用后,需要把所有抽象方法重载方可使用 | 

创建接口使用interface替代class
接口引用区别与之前我们的学的类继承关键字 extends,继承只能是单一性,而
接口可以使用关键字:implements 多个引用并用逗号 , 分开.
1、普通类引用接口例子:
class mypc implements demo , demo2 , demo3{
……
}
2、抽象类引用接口例子:
abstract class mypc implements demo , demo2 , demo3{
……
}
同时出现继承和接口时:先继承后接口,单继承多接口
<?php
header("Content-Type:text/html;charset=UTF-8");
interface demo{
    const NAME="名称";//属性必须为常量
    function fun1();//方法必须为抽象方法
    function fun2();
}
interface demo2{
    function fun3();
    function fun4();
}
interface demo3
{
    const PLAY="七雄争霸";
    function fun5();
}
interface demo4{
    const MUSIC="酷狗音乐";
    function fun6();
}
//可以存在多个接口
class MyPc implements demo,demo2{
    
    //必须对抽象方法进行重载
    function fun1(){
       echo "=======<br/>";
    }
    function fun2(){
       echo ".......<br/>";
    }
    function fun3(){
       echo "++++++++<br/>";
    }
    function fun4(){
       echo "000000000000<br/>";
    }
}
//先继承后接口,单继承多接口
class MyPc2 extends MyPC implements demo3,demo4{
    function fun5(){
       echo "Let us play game !<br/>";
    }
    function fun6(){
       echo "Hello Kugou!<br/>";
    }
}
$p=new MyPc();
$p->fun1();
echo MyPc::NAME;
$pe=new MyPc2();
$pe->fun1();
$pe->fun5();
$pe->fun6();
echo Mypc2::PLAY." ";
echo MyPc2::MUSIC;
?>
运行结果:
=======
名称=======
Let us play game !
Hello Kugou!
七雄争霸 酷狗音乐
 
                    
                     
                    
                 
                    
                 
 
                
            
        