来自 计算机编程 2019-12-29 05:22 的文章
当前位置: 澳门威尼斯人平台 > 计算机编程 > 正文

PHP面向对象学习五 类中接口的应用

接口PHP类是单继承,也就是不支持多继承,当一个类需要多个类的功能时,继承就无能为力了,为此PHP引入了接口技术

oreach 语法结构提供了遍历数组的简单方式。foreach 仅能够应用于数组和对象,如果尝试应用于其他数据类型的变量,或者未初始化的变量将发出错误信息。有两种语法:

类中接口的应用

如果一个抽象类里面的所有方法都是抽象方法,且没有声明变量,而且接口里面所有的成员都是public权限的,那么这种特殊的抽象类就叫接口

foreach (array_expression as $value)
    statement
foreach (array_expression as $key => $value)
    statement

接口:一种成员属性全部为抽象的特殊抽象类,在程序中同为规范的作用

接口使用interface关键字定义,并使用implements来实现接口的方法,且必须完全实现

第一种格式遍历给定的 array_expression 数组。每次循环中,当前单元的值被赋给 $value 并且数组内部的指针向前移一步(因此下一次循环中将会得到下一个单元)。

 

实现一个接口

第二种格式做同样的事,只除了当前单元的键名也会在每次循环中被赋给变量 $key。

抽象类:1、类中至少有一个抽象方法。2、方法前需要加abstract

下面给出PHP接口实现的一个实际例子,在此创建并实现了一个名为IPillage的接口,IPillage接口如下:

接口: 1、类中全部为抽象方法,抽象方法前不用加abstract.  2、接口抽象方法属性为public   3、成员属性必须为常量。

interface IPillage{ function emptyBakAccount(); function burnDocument();}

 

然后通过Executive类实现此接口:

相同点:本身都不能被实例化,只能被继承或引用。继承或引用后,需要把所有抽象方法重载后方可使用。

class Executive extends Employee implements IPillage{ private $totalStockOptions; function emptyBankAccount() { echo "Call CFO and ask to transfer funds to Swiss bank account."; } function burnDocuments() { echo "Torch the office suite."; }}

图片 1

因为公司中所有级别的人都能进行侵占,所以可以有Assistant类实现此接口:

继承(extends)只能是单一性,而接口可以使用implements进行引用。多个引用用逗号分开。

class Assistant extends Employee implements IPillage{ function takeMome() { echo "Taking memo..."; } function emptyBankAccount() { echo "Go on shopping spree with office credit card."; } function burnDocuments() { echo "Start small fire in the trash can."; }}

设已有接口 demo , demo2 , demo3

可以看到,接口特别有用。因为,虽然它们定义了发生某一行为需要多少个方法,以及各个方法的名字,但接口允许不同的类,以不同的方式来实现这些方法。在这个例子中,对于烧文件的方法,Assistdnt类只是把文件在垃圾筒里烧掉,而Executive类则通过更过分的方式来做到。

1、普通类引用接口例子:

实现多个接口

   class mypc implements demo , demo2 , demo3{

本文由澳门威尼斯人平台发布于计算机编程,转载请注明出处:PHP面向对象学习五 类中接口的应用

关键词: