重庆分公司,新征程启航

为企业提供网站建设、域名注册、服务器等服务

php的抽象类怎么用

小编给大家分享一下php的抽象类怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

成都创新互联-专业网站定制、快速模板网站建设、高性价比康巴什网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式康巴什网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖康巴什地区。费用合理售后完善,10多年实体公司更值得信赖。

在PHP中,抽象类主要用于进行类型隐藏和充当全局变量,可以构造出一个固定的一组行为的抽象描述,这组行为能够有任意个可能的具体实现方式,只要类中有一个抽象方法,这个类就是抽象类。

本文操作环境:Windows10系统、PHP7.1版、Dell G3电脑。

php的抽象类用法是什么

抽象类往往用来表征对问题领域进行分析、设计中得出的抽象概念,是对一系列看上去不同,但是本质上相同的具体概念的抽象。
抽象类是不完整的,它只能用作基类。在面向对象方法中,抽象类主要用来进行类型隐藏和充当全局变量的角色。

在面向对象方法中,抽象类主要用来进行类型隐藏。构造出一个固定的一组行为的抽象描述,但是这组行为却能够有任意个可能的具体实现方式。这个抽象描述就是抽象类,而这一组任意个可能的具体实现则表现为所有可能的派生类。模块可以操作一个抽象体。由于模块依赖于一个固定的抽象体,因此它可以是不允许修改的;同时,通过从这个抽象体派生,也可扩展此模块的行为功能

实例操作如下:

name = $nameStr;
  }
  abstract public function work();
  public function work1(){
    echo "

$this->name

";   }   //function __destruct(){} } class Managers extends Employees{   public function __construct($nameStr){     parent::__construct($nameStr);   }   /*public function work(){//如果子类没有扩展(重写)抽象类的抽象方法,会产生致使错误。     echo "

$this->name is working

";   }*/ } //$obj1 = new Employees();//创建抽象类对象时,会产生一个致使错误。 $obj2 = new Managers('e2'); //$obj2->work();

运行上述代码,会提示如下错误信息:

Fatal error: Class Managers contains 1 abstract method and must therefore be declared abstract or implement the remaining methods (Employees::work) in D:\phproot\test\ClassDemo.php on line 26

将错误提示位置及末尾位置代码注释删除后,改为如下代码:

name = $nameStr;
  }
  abstract public function work();
  public function work1(){
    echo "

$this->name

";   }   //function __destruct(){} } class Managers extends Employees{   public function __construct($nameStr){     parent::__construct($nameStr);   }   public function work(){//如果子类没有扩展(重写)抽象类的抽象方法,会产生致使错误。     echo "

$this->name is working

";   } } //$obj1 = new Employees();//创建抽象类对象时,会产生一个致使错误。 $obj2 = new Managers('e2'); $obj2->work();

测试运行结果:

e2 is working

以上是“php的抽象类怎么用”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注创新互联行业资讯频道!


网页标题:php的抽象类怎么用
网页网址:http://cqcxhl.cn/article/giodij.html

其他资讯

在线咨询
服务热线
服务热线:028-86922220
TOP