В этом уроке мы познакомимся с наследованием. Наследование в php - одна из самых важных вещей при работе с классами, особенно при создании интернет магазинов, или других крупных приложений. При создании сайтов с использованием ООП, цена сайта значительно выше, т.к. качество сайта написанного по всем стандартам значительно выше, чем качество сайта написанного в одном файле.
Наследование позволяет сэкономить много времени. Мы пишем базовый класс, который обладает необходимыми свойствами и методами, и наследуем его потомками, которые дополняют базовый класс уникальными свойствами и методами.
Чтобы было более понятно напишем небольшой скрипт.
У нас будет базовый класс ("OX2Company"), в нем будут содержаться основные методы для работы с компанией OX2.
И класс-потомок ("Site"), который будет выводить различную информацию на главную страницу сайта. Синтаксис наследования:
<?php
/**
* Базовый класс
*/
class OX2Company {
/**
* Возвращает название компании
* @return string
*/
public function getCompanyName() {
return "Дизайн студия OX2";
}
/**
* Возвращает кол-во лет на рынке
* @return string
*/
public function getCompanyYear() {
return " 20 лет на рынке";
}
}
/**
* Класс Site насоелует класс компании
*/
class Site extends OX2Company {
/**
* Метод возвращает текст на главную страницу сайта
*/
public function getMainPage() {
return "Наша компания занимается созданием сайтов и интернет-магазинов, и гордо зовется " . $this->getCompanyName() . " мы работаем " . $this->getCompanyYear();
}
}
$site = new Site();
echo "Текст на главную страницу: " . $site->getMainPage();
echo "
";
echo "Название компании: " . $site->getCompanyName();
?>
Как видно из примера, наследование происходит при помощи ключевого слова extends.
Класс Site наследует все свойства и методы базового класса OX2Company, и все свойства и методы могут быть вызваны как внутри класса, так и снаружи.





Уроки по PHP
JavaScript
Уроки по HTML
Дизайнерам
СЕОшникам
Разное


Комментарии (Написать комментарий)
Комментарий:
"Класс Site НАСИЛУЕТ класс компании" :D
Заполните все поля
Написать комментарий