`
wbj0110
  • 浏览: 1598983 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

php中抽象类和接口的概念和区别

阅读更多

 

  1. //抽象类的定义:  
  2. abstract class ku{  //定义一个抽象类  
  3.   abstract function kx();  
  4.   ......  
  5. }  
  6.   
  7. function aa extends ku{  
  8.   //实现抽象类的方法  
  9.   function kx(){  
  10.     echo 'sdsf';  
  11.   }  
  12. }  
  13.   
  14. //使用方法  
  15.   
  16. $aa=new aa;  
  17. $aa->kx();  
  18.   
  19. //1.定义一些方法,子类必须完全实现这个抽象中所有的方法  
  20. //2.不能从抽象类创建对象,它的意义在于被扩展  
  21. //3.抽象类通常具有抽象方法,方法中没有大括号  
  22. //4.抽象方法不必实现具体的功能,由子类来完成  
  23. //5.在子类实现抽象类的方法时,其子类的可见性必须大于或等于抽象方法的定义  
  24. //6.抽象类的方法可以有参数,也可以为空  
  25. //7.如果抽象方法有参数,那么子类的实现也必须有相同的参数个数  
  26.   
  27.   
  28.   
  29.   
  30.   
  31. //////////////////////////////接口类的定义:  
  32. interface Shop{  
  33.       public   function buy($gid);  
  34.       public   function sell($gid);  
  35.       abstract function view($gid);  
  36. }  
  37. //如果要使用接口,必须定义接口类中的所以方法少一个都不可以(abstract除外)。  
  38. //这样如果在一个大项目中不管别人怎么去做下面的方法,但是他必须实现本接口中的所有方法才可以!  
  39.   
  40.   
  41. //例:实现上面的接口的一种方法  
  42. class BaseShop implements Shop{  
  43.    public function buy($gid){  
  44.       echo '你购买了ID为 :' . $gid . '的商品';  
  45.    }  
  46.    public function sell($gid){  
  47.       echo '你购卖ID为 :' . $gid . '的商品';  
  48.    }  
  49.    public function view($gid){  
  50.       echo '你浏览了ID为 :' . $gid . '的商品';  
  51.    }  
  52. }  
  53.   
  54.   
  55. //接口的多重继承示例:  
  56. <?php  
  57. interface staff_i1{ //接口1  
  58.   function setID();  
  59.   function getID();  
  60. }  
  61.   
  62. interface staff_i2{ //接口2  
  63.   function setName();  
  64.   function getName();  
  65. }  
  66.   
  67. class staff implements staff_i1,staff_i2{  
  68.   private $id;  
  69.   private $name;  
  70.   function setID($id){  
  71.     $this->id = $id;  
  72.   }  
  73.   
  74.   function getID(){  
  75.     return $this->id;  
  76.   }  
  77.   
  78.   function setName($name){  
  79.     $this->name = $name;  
  80.   }  
  81.   
  82.   function getName(){  
  83.     return $this->name;  
  84.   }  
  85.   
  86.   function otherFunc(){ //这是一个接口中不存在的方法  
  87.     echo “Test”;  
  88.   }  
  89. }  
  90. ?>  

          

 

 

 他们的不同点:

1。抽象类中可以有非抽象的方法而接口中只能够有抽象的方法!

2。一个类可以实现多个接口,而一个类只能继承一个抽象类!

3。接口的使用方式通过implements关键字进行,抽象类则是通过继承extends关键字进行!

分享到:
评论

相关推荐

    PHP抽象类与接口的区别实例详解

    在PHP编程中,抽象类和接口都是用来定义其他类的行为规范和约束的机制。它们的主要目的是让不同的开发者编写的类能够以一种统一的方式来工作。尽管抽象类和接口都可以实现代码的复用,但它们之间存在一些本质的区别...

    浅析php中抽象类和接口的概念以及区别

    复制代码 代码如下://抽象类的定义:abstract class ku{ //定义一个抽象类 abstract function kx(); ……}function aa extends ku{ //实现抽象类的方法 function kx(){ echo ‘sdsf’; }}//使用方法$aa=new ...

    php多态和抽象类,php教程

    总之,学习并掌握PHP中的多态和抽象类,以及接口的概念,对于提升PHP编程能力,优化代码结构,以及适应不断变化的需求至关重要。通过上述讲解和提供的学习资源,开发者能够更好地理解并运用这些面向对象编程的核心...

    PHP抽象类和接口用法实例详解

    本文实例讲述了PHP抽象类和接口用法。分享给大家供大家参考,具体如下: 前言 对于oop,估计大多数人并不陌生。有些人除PHP外也学习不少其他语言,会发现php的不同之处,可能语法极其丑陋,但并不妨碍它成为世界上...

    PHP抽象类与接口的区别详解

    对于面向对象开发,抽象类与接口这两个东西是比较难理解的;就算是对于有一定经验的程序员来说也如此。下面根据自己的理解来讲述一下这两个东西,如有什么不对的,还望不吝赐教。 抽象类:是基于类来说,其本身就是...

    详解PHP的抽象类和抽象方法以及接口总结

    在PHP编程语言中,抽象类和抽象方法以及接口是面向对象编程中的重要概念,它们在定义类的继承结构和方法实现上起着至关重要的作用。 首先,我们来看抽象类的概念。抽象类是一种特殊的类,它可以包含抽象方法,也...

    php抽象类和接口知识点整理总结

    在PHP中,抽象类和接口是面向对象编程的重要组成部分,它们允许程序员设计可扩展的代码结构,并确保某些功能和行为的实现。 首先,让我们讨论什么是抽象方法。在PHP中,抽象方法是一种没有实现的方法体,只能在抽象...

    PHP中抽象类、接口的区别与选择分析

    在PHP编程中,抽象类和接口是面向对象编程中的两个基本概念,它们有着明显的区别和不同的使用场景。首先,我们来理解一下这两个概念的基本含义: 1. 抽象类是一种特殊的类,它允许包含抽象方法。抽象方法是一种特殊...

    PHP中抽象类,接口功能、定义方法示例

    在PHP编程中,抽象类和接口是面向对象编程中的两个关键概念,它们用于定义类的行为规范和实现方式。下面将详细阐述这两个概念以及它们在PHP中的使用方法。 首先,我们来看接口(Interface)。接口是一种完全抽象的...

    php5的抽象方法和抽象类的理解

    在PHP5中,引入了面向对象编程的两个关键概念:抽象方法和抽象类。这两个特性大大增强了PHP作为面向对象语言的能力,使得开发者可以构建更加健壮、可扩展的代码结构。 **抽象方法** 是指在类中声明但没有具体实现的...

    php 接口类与抽象类的实际作用

    在PHP编程中,接口类(interface)和抽象类(abstract class)是面向对象设计的重要概念,它们用于规范类的行为和促进代码的复用。这两者虽然有相似之处,但各有其独特的用途。 首先,让我们来看看PHP接口类。接口...

    深入分析php中接口与抽象类的区别

    在PHP编程语言中,接口和抽象类是两种不同的概念,它们在设计模式和代码组织结构中扮演着至关重要的角色。虽然它们都用于提供一种允许子类实现或继承的机制,但它们之间存在本质的区别。 首先,我们来看接口...

    php中的抽象方法和抽象类

    在PHP编程语言中,抽象方法和抽象类是面向对象编程(OOP)的重要概念,它们在构建可扩展和模块化的代码结构中起着关键作用。下面我们将深入探讨这两个概念及其应用。 1. **抽象方法**: 抽象方法是在类中定义的,...

Global site tag (gtag.js) - Google Analytics