PHP5中interface 和 abstract class 的区别
2015-08-12 18:12
716 查看
代码形式上来说,接口只是一个声明,其方法没有任何实现代码;抽象类的方法既可以没有实现代码,也可以拥有实现代码。 PHP 5 引入抽象类和方法(abstract class)。抽象类不能被实例化。任何类只要包含有抽象方法(即使只有一个抽象方法)就必须也被定义为抽象。定义为抽象的方法只需要简单的声明而不用实现。 从抽象类继承的时候,所有父类中标记为抽象方法的声明都必须在子类中定义;此外,这些方法还必须用相同的(或更弱的)访问控制。比如,如果抽象方法定义为保护(protected),函数实现必须被定义为protected或者public Interface 对象接口允许你创建这种代码,一个类必须实现的指定方法,而又不必定义这些方法如何处理。接口使用interface关键字定义,和标准类定义一样,但是任何方法都没有内容。接口内所有的方法声明都必须为公开(public),这是接口的本质(呵呵,所谓接口嘛,就是用于交互的)。 实现 要实现一个接口,使用 implements 操作符。接口中的所有方法都必须在一个类中实现;不这么做会导致一个致命错误(fatal error)。 如果想要的话,使用逗号分隔每个接口,一个类可以实现多个接口。 注意:一个类不能实现两个有同样函数名的接口,因为这导致这个函数的含义模糊。
相关文章推荐
- php 字符串长度函数
- php data函数参数大全
- windows xp + mysql5.5 + phpmyadmin insert 中文繁體
- phpstorm主题
- PHP常用函数使用方法记录
- PHP获取文件大小和目录大小
- PHP 二维数组排序
- PHPCMF+php+日记(一)
- PHP文件路径
- php截取小时和分钟,在进行和其它时间段的比较
- 【3】创建一个简单的Laravel例子
- php轻量级的性能分析工具xhprof的安装使用
- yii2学习之CSRF验证
- PHP中file_exists与is_file,is_dir的区别介绍
- 地球坐标,火星坐标,百度坐标转换的php实现
- PHPer 的成长书录
- PHPCMS V9的使用过程中问题笔记
- [php] Thinkphp自动验证和自动完成
- php gettext多国语言的坑
- ftp上传图片的简单用法