- //抽象类的定义:
- abstract class ku{ //定义一个抽象类
- abstract function kx();
- ......
- }
- function aa extends ku{
- //实现抽象类的方法
- function kx(){
- echo 'sdsf';
- }
- }
- //使用方法
- $aa=new aa;
- $aa->kx();
- //1.定义一些方法,子类必须完全实现这个抽象中所有的方法
- //2.不能从抽象类创建对象,它的意义在于被扩展
- //3.抽象类通常具有抽象方法,方法中没有大括号
- //4.抽象方法不必实现具体的功能,由子类来完成
- //5.在子类实现抽象类的方法时,其子类的可见性必须大于或等于抽象方法的定义
- //6.抽象类的方法可以有参数,也可以为空
- //7.如果抽象方法有参数,那么子类的实现也必须有相同的参数个数
- //////////////////////////////接口类的定义:
- interface Shop{
- public function buy($gid);
- public function sell($gid);
- abstract function view($gid);
- }
- //如果要使用接口,必须定义接口类中的所以方法少一个都不可以(abstract除外)。
- //这样如果在一个大项目中不管别人怎么去做下面的方法,但是他必须实现本接口中的所有方法才可以!
- //例:实现上面的接口的一种方法
- class BaseShop implements Shop{
- public function buy($gid){
- echo '你购买了ID为 :' . $gid . '的商品';
- }
- public function sell($gid){
- echo '你购卖ID为 :' . $gid . '的商品';
- }
- public function view($gid){
- echo '你浏览了ID为 :' . $gid . '的商品';
- }
- }
- //接口的多重继承示例:
- <?php
- interface staff_i1{ //接口1
- function setID();
- function getID();
- }
- interface staff_i2{ //接口2
- function setName();
- function getName();
- }
- class staff implements staff_i1,staff_i2{
- private $id;
- private $name;
- function setID($id){
- $this->id = $id;
- }
- function getID(){
- return $this->id;
- }
- function setName($name){
- $this->name = $name;
- }
- function getName(){
- return $this->name;
- }
- function otherFunc(){ //这是一个接口中不存在的方法
- echo “Test”;
- }
- }
- ?>
他们的不同点:
1。抽象类中可以有非抽象的方法而接口中只能够有抽象的方法!
2。一个类可以实现多个接口,而一个类只能继承一个抽象类!
3。接口的使用方式通过implements关键字进行,抽象类则是通过继承extends关键字进行!
相关推荐
复制代码 代码如下://抽象类的定义:abstract class ku{ //定义一个抽象类 abstract function kx(); ……}function aa extends ku{ //实现抽象类的方法 function kx(){ echo ‘sdsf’; }}//使用方法$aa=new ...
本文实例讲述了PHP抽象类和接口用法。分享给大家供大家参考,具体如下: 前言 对于oop,估计大多数人并不陌生。有些人除PHP外也学习不少其他语言,会发现php的不同之处,可能语法极其丑陋,但并不妨碍它成为世界上...
对于面向对象开发,抽象类与接口这两个东西是比较难理解的;就算是对于有一定经验的程序员来说也如此。下面根据自己的理解来讲述一下这两个东西,如有什么不对的,还望不吝赐教。 抽象类:是基于类来说,其本身就是...
本文实例讲述了PHP中抽象类,接口功能、定义方法。分享给大家供大家参考,具体如下: 这里先介绍接口,因为在我最近看的好几本php工具书中都没有提到抽象类。 本人也觉得,在理解了接口后抽象类也非常好理解。 例子...
主要介绍了php抽象类和接口知识点,整理总结了php抽象类与接口的概念、原理、操作技巧及相关使用注意事项,需要的朋友可以参考下
主要介绍了PHP中抽象类、接口的区别与选择,较为详细的分析了PHP中抽象类与接口的概念、用法、区别与使用注意事项,需要的朋友可以参考下
本文实例讲述了PHP抽象类与接口的区别。分享给大家供大家参考,具体如下: 抽象类abstract 概念 定义为抽象的类不能被实例化。任何一个类,如果有一个方法是被声明为抽象的,那么这个类就必须被声明为抽象的类。 ...
PHP中的抽象类和抽象方法自己用的不多,但是经常会在项目中看到别人使用,同样,今天在看别人的代码的时候,发现使用了抽象类,就总结下: 抽象类: 1、如果一个类中有一个方法是抽象方法,则这个类就是抽象类; 2...
php5新增的类特性,很有帮助理解的... 博文链接:https://purpen.iteye.com/blog/100210
interface 其实他们的作用很简单,当有很多人一起开发一个项目时,可能都会去调用别人写的一些类,那你就会问,我怎么知道他的某个功能的实现方法是怎么命名的呢,这个时候php接口类就起到作用了,当我们定义了一个...
接口和抽象类真的很难区分开,引文他们很相似,方法都没有定义逻辑,都是供子类是想或继承的。区分二者只要记住一句话:接口是规范,类是实现。接口的目的是定义一个规范,大家都遵守这个规范。也就是说,从目的上...
随着php使用的广泛,使用不同数据库也是十分常见的。php需要支持更多的数据库连接接口,如果只是通过单一的接口针对单一的...(3)速度快,由于PDO是用C语言编写且编译进php的,所以比那些用php编写的抽象类快得多。
在面向对象(OOP)语言中,一个类可以有一个或多个子类,而每个类都有至少一个公有方法作为外部...抽象就是无法确切的说明,但又有一定的概念或者名称,在PHP中声明一个抽象类或者方法我们需要使用adstract关键字。 2
是指方法的定义中剔除了方法体之后的签名。它包括存取级别、函数关键字、函数名称和参数。他不包含({})或者括号内部的任何代码。例如下面的代码就是一个方法原型: 复制代码 代码如下:public fu