网站地图    收藏   

主页 > 后端 > php资料库 >

抽象类中的抽象方法在子类继承后不能执行,如

来源:自学PHP网    时间:2014-12-04 22:12 作者: 阅读:

[导读] 虽然做了已经快两年的PHP,但是经过一些面试,发现自己对于某些概念性问题还是不是太清楚,模棱两可,容易混淆,所以下定决心,把自己模糊的概念给搞清楚,就自己动手写一些抽...

虽然做了已经快两年的PHP,但是经过一些面试,发现自己对于某些概念性问题还是不是太清楚,模棱两可,容易混淆,所以下定决心,把自己模糊的概念给搞清楚,就自己动手写一些抽象类方法。

首先,如果你要定义一个抽象类(abstract),在抽象类中写入抽象方法,然后再写一个子类继承该抽象类,再在该子类中写入非抽象方法。运行之后,会输出致命性的错误,如何调试,看一下代码:

<?php
header("content-type:text/html; charset=utf-8;");//如果你的文件编码是utf-8的,最好加上这一句
abstract class test {//定义一个抽象类
// abstract function check() {//抽象类放法无法执行,如果解开本注释,会提示一下错误!
//Fatal error: Abstract function test::check() cannot contain body in D:\wamp\www\mytest\abstractclass.php on line 7
function check() {//非抽象类方法可继承执行
echo "我是test父类的check方法";
}
}

class aa extends test {//定义一个子类,继承test抽象类
function check() {//定义一个check方法,这是一个非抽象方法,可以调用输出
echo "我是test继承类的方法输出";
}
}
$zilei=new aa();
$zilei->check();
?>

自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论