php利用抽象类的方法去包含子类方法的调用

文章描述了一个PHP编程场景,其中父类`Parentfile`是一个抽象类,包含一个query()方法,该方法内部调用了`execute()`。子类`Subfile`继承了`Parentfile`并实现了`execute()`方法。当创建`Subfile`的对象并调用`query()`时,由于子类未定义此方法,所以会查找并执行父类中的query(),进而调用子类的`execute()`方法打印出给定的字符串。

在抽象类中调用继承类中的execute()方法,直接用$this调用

//这是父类
<?php
abstract class Parentfile
{
    public $firstname='';
    public $lastname='';
    public function _construct()
    {}
    public function query($str)
    {
        return $this->execute($str);
    }
}

//这是子类,继承了Parenfile,有一个execute()方法

<?php
class Subfile extends Parentfile
{
    public $name='';
    public function __construct(){}
    public function execute($str)
    {
        echo $str;
    }
}

然后我们要怎么在父类中调用query()方法呢

<?php
//必须都包含进来,不然会找不到文件
require_once ('parentfile.php');
require_once ('subfile.php');
$test=new Subfile();
$str='这是测试调用抽象类中的query()方法,然后再方法中调用子类中的execute()方法';
//这里子类没有query()方法,他就会直接去父类查询query()方法
$test->query($str);
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值