PHP 클래스에서 변수/함수 상속을 이해할 수있는 사람이 있습니까?PHP 함수 및 변수 상속
부모 클래스에는 모든 하위 클래스에서 사용하는 함수가 있습니다. 그러나 각 하위 클래스는이 함수에서 자체 변수를 사용해야합니다. 자식 클래스의 함수를 정적으로 호출하고 싶습니다. 아래 예제에서는 하위 클래스의 값과 달리 '세계'가 표시됩니다.
누구든지 하위 클래스의 값을 에코하는 함수를 어떻게 얻을 수 있는지 설명 할 수 있습니까? 인터페이스를 사용해야합니까? 이것은 늦은 정적 바인딩 (PHP의 5.3.0 이전 버전 사용으로 인해 사용할 수없는)과 관련이 있습니까?
echo static::$myVar;
을하지만 그건 당신에게 사용할 수 있기 때문에, 당신의 유일한 (좋은) 옵션은 hello()
기능 하지을하는 것입니다 :
class myParent
{
static $myVar = 'world';
static function hello()
{
echo self::$myVar;
}
}
class myFirstChild extends myParent
{
static $myVar = 'earth';
}
class mySecondChild extends myParent
{
static $myVar = 'planet';
}
myFirstChild::hello();
mySecondChild::hello();
인터페이스 그냥 정의해야하는 함수를 정의하고,이 같은 뭔가를 작동하지 않을 것입니다. 후기 정적 바인딩은 원하는 것입니다.하지만 말했듯이 사용할 수는 없습니다. 이 행동에 정확히 필요한 것이 무엇입니까? 그것을 구현하는 더 좋은 방법이있을 수 있습니다. – rpjohnst