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()
、カプセル化のポイント全体を打ち負かしているように見えるので、それを許可するのに苦労しています。