Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/230.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何访问其他子类中的子类中声明的方法? 我想知道是否可以访问一个在其他子类中的子类中声明的方法,如果是这样,那么我该怎么做呢?它是好的还是被认为是一个坏的实践? class A { } class B extends A { public func_Php - Fatal编程技术网

Php 如何访问其他子类中的子类中声明的方法? 我想知道是否可以访问一个在其他子类中的子类中声明的方法,如果是这样,那么我该怎么做呢?它是好的还是被认为是一个坏的实践? class A { } class B extends A { public func

Php 如何访问其他子类中的子类中声明的方法? 我想知道是否可以访问一个在其他子类中的子类中声明的方法,如果是这样,那么我该怎么做呢?它是好的还是被认为是一个坏的实践? class A { } class B extends A { public func,php,Php,如何访问其他子类中的子类中声明的方法? 我想知道是否可以访问一个在其他子类中的子类中声明的方法,如果是这样,那么我该怎么做呢?它是好的还是被认为是一个坏的实践? class A { } class B extends A { public function hello() { echo 'Hello World!'; } } class C extends A { $this->hello(); } 你不能那样做。如果对象是C,它不是B,因此它没有hello()方

如何访问其他子类中的子类中声明的方法?

我想知道是否可以访问一个在其他子类中的子类中声明的方法,如果是这样,那么我该怎么做呢?它是好的还是被认为是一个坏的实践?

class A {

}

class B extends A {
  public function hello() {
    echo 'Hello World!';
  }
}
class C extends A {
  $this->hello();
}

你不能那样做。如果对象是
C
,它不是
B
,因此它没有
hello()
方法。根据场景的不同,您可以让
类C扩展B
,或者将
hello
函数放入
类A2扩展a
,然后为B和C扩展A2,或者更积极地重构,将
hello
转化为B和C都可以使用的特性。有很多方法可以实现您想要的代码共享。