Приднестровская поддержка XOOPS
Чтобы изменить поведение существующего свойства или метода в новом классе, достаточно переопределить его путем повторного объявления в новом классе.
<?php class MyClass { public $prop1 = "Это свойство класса!"; public function __construct() { echo 'Класс "', __CLASS__, '" инициирован!<br />'; } public function __destruct() { echo 'Класс "', __CLASS__, '" уничтожен.<br />'; } public function __toString() { echo "Используем метод toString: "; return $this->getProperty(); } public function setProperty($newval) { $this->prop1 = $newval; } public function getProperty() { return $this->prop1 . "<br />"; } } class MyOtherClass extends MyClass { public function __construct() { echo "Новый конструктор в классе " . __CLASS__ . ".<br />"; } public function newMethod() { echo "Новый метод в классе " . __CLASS__ . ".<br />"; } } // Создать новый объект $newobj = new MyOtherClass; // Вывести объект в виде строки echo $newobj->newMethod(); // Использовать метод родительского класса echo $newobj->getProperty(); ?>
Этот сценарий выведет в браузере следующий результат
Отправитель | Нити |
---|
17 пользователь(ей) активно (11 пользователь(ей) просматривают Инструкции)
Участников: 0 Гостей: 17 далее... |