PHP程序设计基础(微课版)(第2版)课件 3.PHP final 关键字与类的接口_第1页
PHP程序设计基础(微课版)(第2版)课件 3.PHP final 关键字与类的接口_第2页
PHP程序设计基础(微课版)(第2版)课件 3.PHP final 关键字与类的接口_第3页
PHP程序设计基础(微课版)(第2版)课件 3.PHP final 关键字与类的接口_第4页
PHP程序设计基础(微课版)(第2版)课件 3.PHP final 关键字与类的接口_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

5.5PHPfinal关键字陈学平

015PHPfinal关键字5PHPfinal关键字final关键字。final关键字用于定义类和方法,该关键字表示该类或方法为最终版本,即该类不能被继承,或该方法在子类中不能被重载(覆盖)。类使用final关键字的实例:finalclassPerson{......}final定义的类被继承时会提示如下错误:Fatalerror:ClassStudentmaynotinheritfromfinalclass(Person)in...5PHPfinal关键字classPerson{

finalfunctionsay()

{

......

}}025PHP类的接口6.1PHP接口PHP类是单继承,也就是不支持多继承,当一个类需要多个类的功能时,继承就无能为力了,为此PHP引入了类的接口技术。如果一个抽象类里面的所有方法都是抽象方法,且没有声明变量,而且接口里面所有的成员都是public权限的,那么这种特殊的抽象类就叫接口。接口使用关键字interface来定义,并使用关键字implements来实现接口中的方法,且必须完全实现。实例4使用关键字interface定义接口,并使用关键字implements实现接口中的方法实例代码如下:<?php6.1PHP接口<?php//定义接口interfaceUser{

functiongetDiscount();

functiongetUserType();}//VIP用户接口实现classVipUserimplementsUser{

//VIP用户折扣系数

private$discount=0.8;

functiongetDiscount(){

return$this->discount;

}

functiongetUserType(){

return"VIP用户";

}}6.1PHP接口classGoods{

var$price=100;

var$vc;

//定义User接口类型参数,这时并不知道是什么用户

functionrun(User$vc){

$this->vc=$vc;

$discount=$this->vc->getDiscount(); $usertype=$this->vc->getUserType();

echo$usertype."商品价格:".$this->price*$discount;

}}$display=newGoods();$display->run(newVipUser); //可以是更多其他用户类型?>6.1PHP接口运行该实例,输出:VIP用户商品价格:80元该实例演示了一个PHP接口的简单应用。该实例中,User接口实现用户的折扣,而在VipUser类里面实现了具体的折扣系数。最后商品类Goods根据User接口来实现不同的用户报价。该实例仅限于演示PHP接口的用法,不涉及其科学与否。6.2实现多个接口PHP也可以在继承一个类的时候同时实现多个接口:class子类extends父类implemtns接口1,接口2,...{......}6.3抽象类和接口的区别接口是特殊的抽象类,也可以看做是一个模型的规范。接口与抽象类大致区别如下:一个子类如果implements一个接口,就必须实现接口中的所有方法(不管是否需要);如果是继承一个抽象类,只需要实现需要的方法即可。如果一个接口中定义的方法名改变了,那么所有实现此接口的子类需要同步更新方法名;而抽象类中如

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论