Привет дорогой читатель. Сегодня мы с тобой завершаем изучение основ ООП. И у нас заключительный урок. Сегодня речь пойдет о наследовании. Для освежения памяти советую обратиться к одному из прошедших уроков. "PHP ООП. Основы" там была картинка, которая как раз и описывает смысл наследования. Там во главе стоит транспорт, который в свою очередь подразделяется на более мелкие понятия.
Давайте попробуем это все рассмотреть поближе. Как обычно за стартовыми данными мы обратимся к предыдущему уроку.
calss Hello { public $name; public function __construct() { $this->name = "Володя"; } public function hello_name ($fn) { $this->name = $fn; echo "Ну здравствуй ".$this->name; } }
Также там напишем для нас новый класс:
calss Hello2 extends Hello { public $name; public function __construct() { $this->name = "Мария"; } public function hello_name ($fn) { parrent::hello_name() $this->name = $fn; echo "Еще раз здравствуй ".$this->name; } public function hello_name2 ($fn) { $this->name = $fn; echo "Приветсвую Вас, ".$this->name; } }
Давайте обратим внимание на строку "calss Hello2 extends Hello" - это обозначает новый класс Hello2, который расширяет класс Hello. Значит из объекта Hello2 мы сможем обратиться к методам класса Hello. На основании предыдущих уроков приведем к следующему виду Наш код:
<?php calss Hello { public $name; public function __construct() { $this->name = "Володя"; } public function hello_name ($fn) { $this->name = $fn; echo "Ну здравствуй ".$this->name; } } calss Hello2 extends Hello { public $name; public function __construct() { parrent::__construct(); } public function hello_name ($fn) { parrent::hello_name($fn) $this->name = $fn; echo "Еще раз здравствуй ".$this->name; } public function hello_name2 ($fn) { $this->name = $fn; echo "Приветсвую Вас, ".$this->name; } } $q = new Hello2(); echo $q->name; ?>
Выполнением кода будет Володя, так как наш новый класс Hello2 наследует конструктор из родителя Hello.
Аналогично попробуйте и выведите остальные функции. Понаблюдайте и сделайте выводы. Все вопросы и предложения жду от Вас в комментариях.
С уважением Ваш ИТ Инженер.
Только профессионалы 1C и только здесь, помогут вам в установке и сопровождении многопрограммного продукта.