4
나는 부모 클래스에 funcB() 함수를 포함하고 있습니다.이 함수는이 함수를 약간만 변경하여 더 나은 함수로 재정의하려고합니다. 부모 클래스의이 함수는 같은 클래스의 다른 private 함수를 호출합니다.확장 클래스에서 개별 통화를 하시겠습니까?
샘플 코드 : 나는 ClassB가 내에서 개인의 부모를 호출 :: funcA() 함수를 만들 수 아니에요 때문에
class classA {
private function funcA() {
return "funcA called";
}
public function funcB() {
$result = $this->funcA();
return $result;
}
}
class ClassB extends ClassA {
public function funcB($a) {
//do some more stuff
$result = $this->funcA();
return $result;
}
}
나는, 치명적 오류가 발생합니다. 그러나 그 부름은 반드시 이루어져야합니다. 이것은 어떻게 아직도 가능합니까?
고마워요! ClassA의 설계에 결함이 있다는 뜻입니까? (내가 알고있는 ClassA를 디자인하지 않았다.) – netiul
@Zac L : 음, 처음에는'funcA'가 서브 클래스 * 또는 *에 의해 호출되지 않아야한다는 것을 의미한다.'classA'는 서브 클래스 화되지 않았다. 어쩌면 원저자는이 시나리오에 대해 생각하지 않았을 것입니다. 나는 그것이 잘못된 디자인이라고 말하지 않을 것이다. –