Почему результат получается a: 30, b: 10 ?Если последняя операция перед выводом $obj->changeValue(10); Код (PHP): class ClassOne { protected $a = 10; public function changeValue($b) { $this->a = $b; } } class ClassTwo extends ClassOne { protected $b = 10; public function changeValue($b) { $this->b = 10; parent::changeValue($this->a + $this->b); } public function displayValues() { print "a: {$this->a}, b: {$this->b}\n"; } } $obj = new ClassTwo(); $obj->changeValue(20); $obj->changeValue(10); $obj->displayValues();
Код (PHP): parent::changeValue($this->a + $this->b); каждый вызов метода увеличивает значение переменной класса $this->a на 10. Добавлено спустя 13 минут 50 секунд: и передавать что 200 что 20, результат будет таким же. Вы локальный параметр $b не используете нигде.