PHP父类调用子类方法实例

今天突然发现需要在父类中调用子类的方法,之前一直都没这么用过,通过实践发现也可以。例子如下:

 代码如下 复制代码

<?php
/**
 * 父类调用子类方法 基类
 * @author LNMP100
 *
 */
class BaseApp
{
    /**
     * 调用子类方法
     * @version  创建时间:2013-07-10
     */
    function _run_action()
        {
            $action = "index";
            $this->$action();
        }
}

class DefaultApp extends BaseApp
{

    /**
     * 此方法将在父类中调用
     */
    function index()
        {
            echo "DefaultApp->index() invoked";
        }

    function  Go(){
        //调用父类
        parent::_run_action();
    }
}

$default=new DefaultApp();
$default->Go();
//将显示DefaultApp->index() invoked

?>

我们在父类的go()方法里面调用了

$default->Go();

swim是子类定义的方法(注意,我们并没有在父类中定义abstract function swim()),说明了这不是多态。我们不仅调用了方法,还调用了成员,是ok的。

时间: 2024-11-03 12:45:58

PHP父类调用子类方法实例的相关文章

PHP父类调用子类方法的代码例子_php实例

今天突然发现需要在父类中调用子类的方法,之前一直都没这么用过,通过实践发现也可以.例子如: 复制代码 代码如下: <?php/** * 父类调用子类方法 基类 * @author LNMP100 * */class BaseApp{    /**     * 调用子类方法     * @version  创建时间:2013-07-10     */    function _run_action()    {            $action = "index";      

PHP父类调用子类方法的代码例子

 这篇文章主要介绍了PHP父类调用子类方法的代码例子,需要的朋友可以参考下 今天突然发现需要在父类中调用子类的方法,之前一直都没这么用过,通过实践发现也可以.例子如:  代码如下: <?php /**  * 父类调用子类方法 基类  * @author LNMP100  *  */ class BaseApp {     /**      * 调用子类方法      * @version  创建时间:2013-07-10      */     function _run_action()  

jquery利用ajax调用后台方法实例_jquery

复制代码 代码如下: 语法:$(function(){    var callback = function(r){  //r表示后台数据返回的数据.    }    $.get("",callback);   //引号里面写方法的路径}); 这样就可以得到后台方法得到的数据显示在html前端了. 以下是工作中写的一段js和后台方法: js: 复制代码 代码如下: $(function(){    var callback = function (r) {        var dat

转型-关于如何通过子类调用父类的父类中的方法

问题描述 关于如何通过子类调用父类的父类中的方法 package access; class A{ public A(){System.out.println("A created!");} public int f(){ System.out.println("call A.f()"); return 1; } } class B extends A{ public int f(){ System.out.println("call B.f()"

java调用固有方法

我们先从一个简单的例子开始:一个Java程序调用固有方法,后者再调用Win32的API函数MessageBox(),显示出一个图形化的文本框.这个例子稍后也会与J/Direct一志使用.若您的平台不是Win32,只需将包含了下述内容的C头: #include <windows.h> 替换成: #include <stdio.h> 并将对MessageBox()的调用换成调用printf()即可. 第一步是写出对固有方法及它的自变量进行声明的Java代码:   class ShowM

JavaScript使用function定义对象并调用的方法

 这篇文章主要介绍了JavaScript使用function定义对象并调用的方法,实例分析了javascript中function定义及使用对象与方法的相关技巧,需要的朋友可以参考下     本文实例讲述了JavaScript使用function定义对象并调用的方法.分享给大家供大家参考.具体分析如下: JS中你可以通过函数的方式定义对象,下面的JS代码定义了一个movie的函数对象,然后通过new的方法声明对象,调用起来也非常简单. ? 1 2 3 4 5 6 7 8 <script type

Python子类调用父类方法实例程序

python和其他面向对象语言类似,每个类可以拥有一个或者多个父类,它们从父类那里继承了属性和方法.如果一个方法在子类的实例中被调用,或者一个属性在子类的实例中被访问,但是该方法或属性在子类中并不存在,那么就会自动的去其父类中进行查找. 继承父类后,就能调用父类方法和访问父类属性,而要完成整个集成过程,子类是需要调用的构造函数的. 子类不显式调用父类的构造方法,而父类构造函数初始化了一些属性,就会出现问题 如果子类和父类都有构造函数,子类其实是重写了父类的构造函数,如果不显式调用父类构造函数,父

为什么子类能够间接调用父类的私有方法

问题描述 子类的对象是不能直接调用父类的私有方法,但是却可以间接调用,求大家解答!代码如下classFather{publicFather(){System.out.println("Father");}privatevoidhello(){System.out.println("hello");}publicvoidsayHello(){System.out.println(thisinstanceofSon);this.hello();}}publicclass

一段代码,父类调用了子类重载的方法,求解释。

问题描述 public class Person {public void fight(){System.out.println("Person战斗");say();}public void say(){System.out.println("Person说话");}} public class Student extends Person {@Overridepublic void fight() {System.out.println("Student