php 抽象类 和php接口

  abstract  关键字  代表抽象类;

    场景联想:如果项目经理需要对所有的子类进行规范,就是说,这些成员必须有,且必须使用那些名字,就需要使用抽象类的概念了;

    1.抽象类不能实例化;

    2.如果一个类里面有其他方法,被申明为抽象类了,这个类就得声明抽象类

    3.只要这个方法被声明抽象方法,就不能写函数体,将函数后面的{}去掉,函数体有子类实现;

    4.在继承一个抽象类的时候,子类必须定义父类中的所用抽象方式;不是抽象方法,子类可以不用定义;

    

 

  接口:interface

    接口的用途和抽象类差不多,都是为了写一些规范;

    1.使用interface关键字定义接口

       interface pp{

          public function fn();

      }  

      interface aa{

        public function fn();

      }

    接口的方法都是空的,没有函数体;

    2.接口中的所有方法都是public;

    3.使用implements这个操作符;

      class ss implements pp{

        public function fn(){}

      }

    4.一个类可以实现多个接口,接口和接口之间用逗号隔开;

    5.接口和接口之间,方法尽量不要重名,如果重名了,那么参数要保持一致;

      class ss implements pp,aa{

        public function fn(){}

      }

 

    

 

  抽象类和接口的区别?

    1.接口使用implements 而抽象类使用extends实现;

    2.接口中只能声明公有的方法,抽象类:属性,常量,方法,都可以申明;

    3.接口没有构造函数,抽象类有;

    4.接口可以实现多个接口,但抽象类只能继承一个;

posted @ 2019-04-09 19:14  枯桑  阅读(395)  评论(0编辑  收藏  举报