PHP中父类里调用子类的方法 5
classtestA{publicfunctiondemo1(){$this->demo2();}publicfunctiondemo2(){echo"demo2"};}...
class testA
{
public function demo1(){ $this->demo2();}
public function demo2(){ echo "demo2"};
}
class testB extends testA
{
public function demo2(){echo "重新demo2";}
}
怎样在父类demo1中调用子类重写后的demo2方法??? 展开
{
public function demo1(){ $this->demo2();}
public function demo2(){ echo "demo2"};
}
class testB extends testA
{
public function demo2(){echo "重新demo2";}
}
怎样在父类demo1中调用子类重写后的demo2方法??? 展开
7个回答
推荐于2016-09-09
展开全部
php 父类调用子类方法,参考如下:
<?php
/**
* 父类调用子类方法 基类
* @author ikmb
*
*/
class BaseApp
{
/**
* 调用子类方法
*/
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
?>
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
<?php
class A{
public function test(){
B::test();//父类调用子类的方法
}
}
class B extends A{
public function test1(){
$this->test();//重写后的方法
}//
public function test(){
echo "这是b方法";
}
public function test2(){
parent::test();//父类的方法
}
}
$b=new A();
echo $b->test();
?>
class A{
public function test(){
B::test();//父类调用子类的方法
}
}
class B extends A{
public function test1(){
$this->test();//重写后的方法
}//
public function test(){
echo "这是b方法";
}
public function test2(){
parent::test();//父类的方法
}
}
$b=new A();
echo $b->test();
?>
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
…… 这样不行,也不符合逻辑,因为父类不会知道子类定义了什么方法,所以,父类去调用子类就不合理。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
<?php
class A {
function example() {
echo "I am A::example() and provide basic functionality.<br />\n";
}
}
class B extends A {
function example() {
echo "I am B::example() and provide additional functionality.<br />\n";
parent::example();
}
}
$b = new B;
// 这将调用 B::example(),而它会去调用 A::example()。
$b->example();
?>
追问
在父类的另外一个方法调用子类重写后的example方法,怎么调用????
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询