php 다 중 상속 의 몇 가지 흔 한 실현 방법 예시

2070 단어 php다 상속
본 논문 의 사례 는 phop 다 계승 의 몇 가지 흔 한 실현 방법 을 서술 하 였 다.여러분 께 참고 하도록 공유 하 겠 습 니 다.구체 적 으로 는 다음 과 같 습 니 다.

class Parent1 {
  function method1() {}
  function method2() {}
}
class Parent2 {
  function method3() {}
  function method4() {}
}
class Child {
  protected $_parents = array();
  public function Child(array $parents=array()) {
    $this->_parents = $parents;
  }
  public function __call($method, $args) {
    //  “  "     
    foreach ($this->_parents as $p) {
      if (is_callable(array($p, $method))) {
        return call_user_func_array(array($p, $method), $args);
      }
    }
    //        ,               
    return call_user_func_array(array($this, $method), $args);
  }
}
$obj = new Child(array(new Parent1(), new Parent2()));
print_r( array($obj) );die;
$obj->method1();
$obj->method3();

실행 결과:
Array
(
    [0] => Child Object
        (
            [_parents:protected] => Array
                (
                    [0] => Parent1 Object
                        (
                        )
                    [1] => Parent2 Object
                        (
                        )
                )
        )
)

interface testA{
  function echostr();
}
interface testB extends testA{
  function dancing($name);
}
class testC implements testB{
  function echostr(){
    echo "    ,           !";
    echo "<br>";
  }
  function dancing($name){
    echo $name."    !";
  }
}
$demo=new testC();
$demo->echostr();
$demo->dancing("  ");

실행 결과:
인터페이스 계승,모든 추상 적 인 방법 을 실현 해 야 합 니 다!
모델 이 춤 추고 있어 요!
더 많은 PHP 관련 내용 에 관심 이 있 는 독자 들 은 본 사이트 의 주 제 를 볼 수 있다.
본 논문 에서 말 한 것 이 여러분 의 PHP 프로 그래 밍 에 도움 이 되 기 를 바 랍 니 다.

좋은 웹페이지 즐겨찾기