我了解到 OOP 都是关于数据封装的,但是在彼此无关的类之间传递数据呢(下面的示例是否值得使用extends
)?
class Dog {
private $secretVar;
public function getSecretVar() {
$this->secretVar = 'psst... only for rainbow!';
return $this->secretVar;
}
}
class Rainbow {
public function __construct(Dog $Dog) {
print_r($Dog->getSecretVar());
}
}
$Dog = new Dog();
$Rainbow = new Rainbow($Dog);
// ... classes that don't need the $secretVar
您将如何$secretVar
仅封装类Dog
和Rainbow
?截至目前,任何人都可以调用getSecretVar()
,我很难让这种情况发生,因为它似乎破坏了封装的全部意义。