interface 与abstract之间的区别与联系

来源:互联网 发布:c语言软件测试 编辑:程序博客网 时间:2024/06/04 11:13

参考文档 : http://php.net/manual/zh/language.oop5.interfaces.php

区别:

a. 关键字  interface是implements   abstract是extends

        b. abstract 是单继承   interface是多继承 (多个接口都好分割)

        c.  abstract 可以又普通的方法(就是可以有非abstract方法)   interface 不可以

        d. iinterface方法必须是public 的,abstract 没有这个限制

e. 子类继承多个接口的时候 ,这些接口的方法不可以有重复的



相同:

a. abstract以及interface方法都必须是空的(只是定义了参数)

b. 子类的属性方法的访问控制必须比abtract interface要一致或者更加宽松



原创粉丝点击