2009-12-27 4 views
0

하위 클래스의 부모 클래스에 정의한 함수를 어떻게 사용합니까? 내가 위를하려고하면PHP 상속 질문

예를 들어 내가 나는 제곱 함수가 정의되어 있지 않다는 오류를 얻을

<?php 

class mat 

{ 

function square($x) 

{ 

return $x *$x; 

} 

} 


class matchild extends mat 

{ 

function doublesquare($x) 
{ 

return square($x) * square($x) 

} 

} 

?> 

아래의 같은 클래스를 사용합니다.

답변 및 제안 감사드립니다.

답변

10

당신은 PHP의 basic documentation 클래스와 객체에를 this

return $this->square(x) * $this->square(x); 

체크 아웃 사용해야합니다. matchild의 생성자 호출 parent::__construct()

class matchild extends mat 
{ 
    function __construct() 
    { 
     parent::__construct(); 
    } 
} 

에서

+0

덕분에, 나는 당신은 그것의 방법을 사용하는 슈퍼 클래스의 생성자를 호출 할 필요가 없습니다 수동 – jimbo

-2

그런 다음 당신은 당신의 조각 문제의 $this->

+2

에서 살펴 보겠습니다. –

+0

맞습니다. 이 모든 것을 잘못하고 있습니다. :) –

1

부부와 부모에 포함 된 모든 메서드를 호출 할 수 있습니다. 그러나 당신이 찾고있는 답은

$this->square() 
0

parent::square(x) * parent::square(x)