나는 PHP를 배우고 난 붙어있어 내가 다음 코드를PHP : 자식 클래스에서 보호 var에 액세스
PHP Fatal error: Uncaught Error: Cannot access protected property poodle::$Name
이가 이상한 같습니다
<?php
class dogtag {
protected $Words;
}
class dog {
protected $Name;
protected $DogTag;
protected function bark() {
print "Woof!\n";
}
}
class poodle extends dog {
public function bark() {
print "Yip!\n";
}
}
$poppy = new poodle;
$poppy->Name = "Poppy";
$poppy->DogTag = new dogtag;
$poppy->DogTag->Words = "My name is
Poppy. If you find me, please call 555-1234";
var_dump($poppy);
?>
이것은 내가 가진 무엇 나는 어린이 클래스의 보호 된 vars와 함수에 접근해야만한다.
누군가 내가 틀린 곳을 설명해 주시겠습니까?
감사합니다.
감사합니다. 그러나 나는 그것을 얻지 못했습니다. 내가 하위 클래스의 인스턴스 (양귀비)에서 그것을 액세스하려고하는 것을 의미하고 하위 클래스 정의 (클래스 푸들 확장 ...)에서 아닙니다? – S4rg0n
이것은 개 클래스 내부에서 액세스하는 것이 아니라 외부에서 액세스하는 것을 의미합니다. – Daan
죄송하지만 이해가 안됩니다. 개 클래스에서 상속받은 푸들 하위 클래스에서 $ Name에 액세스하려고합니다. 푸들 ($ poppy)의 인스턴스를 만들고 protected var $ Name을 변경하려고합니다. 개인 var과 함께 할 수는 없지만 $ Name은 보호됩니다. $ poppy는 poodle 클래스의 인스턴스이므로 protected 부모의 var를 수정할 수 있어야합니다. 양해 해줘서 고마워. – S4rg0n