ООП почему возвращается значение не наследуемого класса? class Member { private $username; public function __construct( $username ) { $this->username = $username; } public function getUsername() { return $this->username; } } class Topic { private $member; private $subject; public function __construct( $member, $subject ) { $this->member = $member; $this->subject = $subject; } public function getUsername() { return $this->member->getUsername(); } } $aMember = new Member( "fred" ); $aTopic = new Topic( $aMember, "Hello everybody!" ); echo $aTopic->getUsername(); // Displays "fred"
Когда вызывается метод getUsername() у объекта $aTopic, внутри метода getUsername() выполнится вызов метода getUsername() у объекта $member, который находится в свойстве $member объекта $aTopic.
Таким образом, значение "fred" возвращается из объекта $member, который передается в конструкторе объекта $aTopic при создании объекта.
Таким образом, результат вывода кода будет "fred".
Когда вызывается метод getUsername() у объекта $aTopic, внутри метода getUsername() выполнится вызов метода getUsername() у объекта $member, который находится в свойстве $member объекта $aTopic.
Таким образом, значение "fred" возвращается из объекта $member, который передается в конструкторе объекта $aTopic при создании объекта.
Таким образом, результат вывода кода будет "fred".