You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PHP如何通过继承实现函数内调用其他函数并输出执行结果

PHP继承实现函数调用及输出实现指南

基础调用可行性说明

你描述的需求完全可以通过PHP继承机制实现,你给出的示例代码本身是合法的实现逻辑,仅需要满足两个前置条件即可正常运行:

  • 父类Patient已完成定义
  • 父类中存在访问修饰符为public或protected的GeneralInfo()方法(private修饰的方法无法被子类继承调用)
  • GeneralInfo()方法存在返回值,才能通过echo输出对应内容

补全后的可运行示例代码如下:

<?php
// 定义父类
class Patient {
    // 可继承的通用信息方法,返回字符串内容
    protected function GeneralInfo() {
        return "患者姓名:张三 | 年龄:30 | 就诊编号:20240520007";
    }
}

class Clinic extends Patient{
    function getPatientsInfo(){
        // 调用继承自父类的方法,输出返回值
        echo $this->GeneralInfo();
    }
}
$patient = new Clinic;
$patient->getPatientsInfo();
// 运行输出:患者姓名:张三 | 年龄:30 | 就诊编号:20240520007

注意:如果父类方法使用private修饰,子类调用时会抛出方法未定义的错误,跨类调用时需根据场景合理选择访问修饰符。

继承场景下函数内实例化调用其他函数的实现

分两种常见场景实现:

场景1:实例化同一继承体系内的其他类

<?php
class Patient {
    protected function GeneralInfo() {
        return "患者姓名:张三 | 年龄:30 | 就诊编号:20240520007";
    }
}

// 同继承体系的另一个子类
class MedicalRecord extends Patient {
    public function getHistory() {
        return " | 过往病史:无药物过敏史,无慢性基础病";
    }
}

class Clinic extends Patient{
    function getFullInfo(){
        echo $this->GeneralInfo();
        // 函数内实例化同体系子类,调用对应方法
        $record = new MedicalRecord();
        echo $record->getHistory();
    }
}
$clinic = new Clinic;
$clinic->getFullInfo();
// 运行输出:患者姓名:张三 | 年龄:30 | 就诊编号:20240520007 | 过往病史:无药物过敏史,无慢性基础病

场景2:实例化非继承体系的外部类

继承逻辑不影响普通类的实例化调用,正常实例化后调用方法即可:

<?php
// 外部工具类
class TextFormatter {
    public function addStyle($content) {
        return "<div style='padding: 10px; border: 1px solid #eee;'>{$content}</div>";
    }
}

class Patient {
    protected function GeneralInfo() {
        return "患者姓名:张三 | 年龄:30 | 就诊编号:20240520007";
    }
}

class Clinic extends Patient{
    function getStyledInfo(){
        $info = $this->GeneralInfo();
        // 实例化外部类调用方法
        $formatter = new TextFormatter();
        echo $formatter->addStyle($info);
    }
}
$clinic = new Clinic;
$clinic->getStyledInfo();

内容的提问来源于stack exchange,提问作者pedro penduko

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 18:36:07