PHP抽象类基本用法示例 |
本文标签:PHP,抽象类 本文实例讲述了PHP抽象类基本用法 。分享给大家供大家参考,具体如下: <?php //抽象类像一个模板,供子类扩展(重写),抽象类里有普通方法(有方法体),也有抽象方法,其中抽象方法没有方法体,且以分号结束 。 //只要有一个抽象方法,那么此类必须定义为抽象类 。 //抽象类不能创建自己的实例,在试图创建抽象类对象时,会产生一个致使错误 。 //在子类里实现抽象类的方法,并且可见性要等于、高于抽象方法的可见性,抽象类(public|protected|private),子类(public|public,protected|有致命错误,且不能被继承) 。 //抽象类不能定义私有方法,可以定义私有属性 。 //如果子类没有扩展(重写)抽象类的抽象方法,会产生致使错误 。 abstract class Employees{ protected $name = null; function __construct($nameStr){ $this->name = $nameStr; } abstract public function work(); public function work1(){ echo "<p>$this->name</p>"; } //function __destruct(){} } class Managers extends Employees{ public function __construct($nameStr){ parent::__construct($nameStr); } /*public function work(){//如果子类没有扩展(重写)抽象类的抽象方法,会产生致使错误 。 echo "<p>$this->name is working</p>"; }*/ } //$obj1 = new Employees();//创建抽象类对象时,会产生一个致使错误 。 $obj2 = new Managers('e2'); //$obj2->work(); 运行上述代码,会提示如下错误信息:
将错误提示位置及末尾位置代码注释删除后,改为如下代码: <?php //抽象类像一个模板,供子类扩展(重写),抽象类里有普通方法(有方法体),也有抽象方法,其中抽象方法没有方法体,且以分号结束 。 //只要有一个抽象方法,那么此类必须定义为抽象类 。 //抽象类不能创建自己的实例,在试图创建抽象类对象时,会产生一个致使错误 。 //在子类里实现抽象类的方法,并且可见性要等于、高于抽象方法的可见性,抽象类(public|protected|private),子类(public|public,protected|有致命错误,且不能被继承) 。 //抽象类不能定义私有方法,可以定义私有属性 。 //如果子类没有扩展(重写)抽象类的抽象方法,会产生致使错误 。 abstract class Employees{ protected $name = null; function __construct($nameStr){ $this->name = $nameStr; } abstract public function work(); public function work1(){ echo "<p>$this->name</p>"; } //function __destruct(){} } class Managers extends Employees{ public function __construct($nameStr){ parent::__construct($nameStr); } public function work(){//如果子类没有扩展(重写)抽象类的抽象方法,会产生致使错误 。 echo "<p>$this->name is working</p>"; } } //$obj1 = new Employees();//创建抽象类对象时,会产生一个致使错误 。 $obj2 = new Managers('e2'); $obj2->work(); 测试运行结果:
更多关于PHP相关内容感兴趣的读者可查看本站专题:《php面向对象程序设计入门教程》、《PHP数组(Array)操作技巧大全》、《PHP基本语法入门教程》、《PHP运算与运算符用法总结》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》 希望本文所述对大家PHP程序设计有所帮助 。 您可能感兴趣的文章:
|