十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
本文操作环境:Windows10系统、php7.1版、Dell G3电脑。

创新互联专注于王益企业网站建设,成都响应式网站建设,商城网站建设。王益网站建设公司,为王益等地区提供建站服务。全流程定制设计,专业设计,全程项目跟踪,创新互联专业和态度为您提供的服务
抽象类往往用来表征对问题领域进行分析、设计中得出的抽象概念,是对一系列看上去不同,但是本质上相同的具体概念的抽象。
抽象类是不完整的,它只能用作基类。在面向对象方法中,抽象类主要用来进行类型隐藏和充当全局变量的角色。
在面向对象方法中,抽象类主要用来进行类型隐藏。构造出一个固定的一组行为的抽象描述,但是这组行为却能够有任意个可能的具体实现方式。这个抽象描述就是抽象类,而这一组任意个可能的具体实现则表现为所有可能的派生类。模块可以操作一个抽象体。由于模块依赖于一个固定的抽象体,因此它可以是不允许修改的;同时,通过从这个抽象体派生,也可扩展此模块的行为功能
实例操作如下:
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