PHP面向对象学习五 类中接口的应用

类中接口的应用
接口:一种成员属性全部为抽象的特殊抽象类,在程序中同为规范的作用
 
抽象类:1、类中至少有一个抽象方法。2、方法前需要加abstract
接口: 1、类中全部为抽象方法,抽象方法前不用加abstract.  2、接口抽象方法属性为public   3、成员属性必须为常量。
 
相同点:本身都不能被实例化,只能被继承或引用。继承或引用后,需要把所有抽象方法重载后方可使用。
继承(extends)只能是单一性,而接口可以使用implements进行引用。多个引用用逗号分开。
设已有接口 demo , demo2 , demo3
1、普通类引用接口例子:
   class mypc implements demo , demo2 , demo3{
       ……
    }
2、抽象类引用接口例子:
 
   abstract class mypc implements demo , demo2 , demo3{
      ……
    }
3、继承父类并且引用接口例子:
 
  class mypc extends root implements demo , demo2 , demo3{
       ……
    }
继承接口,继承接口
4、接口与接口继承:
 
   interface demo3 extends demo{
      ……
    }
<?php
interface demo{
const NAME="行色匆匆";
function fun1();
function fun2();
}
    interface demo2{
    function fun3();
    function fun4();
    }
    interface demo3{
    const PLAY ="播放";
    function fun5();
    }
    class mypc implements demo,demo2{
    function fun1(){
    echo "fun1 cotent<br/>";
    }
    function fun2(){
    echo "fun2 cotent<br/>";
    }
    function fun3(){
    echo "fun3 cotent<br/>";
    }
    function fun4(){
    echo "fun4 cotent<br/>";
    }//重载所引用接口的所有方法
    }
    //单继承多接口,先继承后引用
    class PC extends mypc implements demo3{
    function fun5(){
    echo "fun5的内容<br/>";
    }
    }
    $p=new mypc;
    $p2=new PC;
    $p->fun1();$p->fun3();
echo "<br/>".mypc::NAME;
echo "<br/>".PC::PLAY;
?>
View Code
原文地址:https://www.cnblogs.com/xtmp/p/3618331.html