所以假设我有一个 Door 类和一个 Lock 类。Door 类的实例有一个lock
属性,它是 Lock 类的实例。
我希望门“拥有”它是 Lock 的实例,但我不希望门能够更改自己的锁。例如,我不希望这成为可能:
class FancyDoor extends Door {
function unlockMyself() {
$this->lock->locked = false;
}
}
但我确实希望其他班级可以使用门锁。例如,我需要一个 DoorMan 类来锁定和解锁门。因此,这并不像将所有 Lock 属性设为私有那么简单。
有这样做的模式吗?我主要在 PHP 中工作,但答案确实需要特定于语言。提前致谢。