7.8.3 PHP面向对象接口技术

7.8.3 PHP面向对象接口技术

PHP与大多数面向对象编程语言一样,不支持多重继承,也就是说每个类只能继承一个父类。为了解决这个这个问题,PHP引入了接口,接口的思想是指定了一个实现了该接口的类必须实现的一系列函数。

如果在一个抽象类中包含的只有抽象方法,可以将其定义为interface(接口),用implements(实现)关键字使用它。�
定义格式:
interface 接口名称{
//常量成员 (使用const关键字定义)
//抽象方法 (不需要使用abstract关键字)
}� 使用格式: class 类名 implements 接口名1,接口名2{ ... ... }�当一个类在继承了一个接口后,它必须实现即覆盖该接口的所有方法才可以实例化使用,否则即为抽象类。

抽象类与接口的区别

定义

抽象类表示该类中可能已经有一些方法的具体定义。
接口就仅仅只能定义各个方法的界面,不能有具体的实现代码在成员方法中。

用法

抽象类是子类用来继承的,当父类已有实际功能的方法时,该方法在子类中可以不必实现。
实现一个接口,必须实现接口中所有定义的方法,不能遗漏任何一个。

<?php
/*  抽象类是一种抽象的类, 接口是一种特殊的抽象类, 接口也是一种特殊特殊的类
 *
 *  1. 抽象类和接口中都有抽象方法
 *  2. 抽象类和接口都不能创建实例对象
 *  3. 抽象类和接口的使用意义也就是作用相同
 *
 *  接口和抽象类相比, 特殊在哪里?
 *
 *      1. 接口中的方法,必须全要是抽象方法(不能用不抽象的方法)
 *          所以在接口中的抽象方法不需要使用abstract, 直接使用分号结束即可
 *
 *      2. 接口中的成员属性, 必须是常量(不能有变量)
 *
 *      3. 所有的权限必须是公有的(public)
 *
 *      4. 声明接口不使用class, 而是使用interface
 *
 */

    //声明一个接口使用interface
    interface Demo {
        const NAME="妹子";
        const AGE = 20;

        public function test();
        public function test2();
        function test3();
    }
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 137,257评论 19赞 139
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 35,329评论 18赞 399
  • 1 面向对象No6 面向对象 OO Object Oriented 编程时以对象为单元,封装数据和逻辑,以此提...
    征程_Journey阅读 1,302评论 0赞 2
  • http://blog.csdn.net/carter115/article/details/51133688 h...
    孤远阅读 376评论 0赞 0
  • 经宁国市团市委组织本市公益社会组织以及市各社区针对我市文明创建最后攻坚战的要求和会议结果。 宁国市河沥溪街道办事处...
    我说故事给你听阅读 633评论 0赞 1

友情链接更多精彩内容