PHP наследование

В этой части учебника мы разберём PHP наследование классов, пожалуй самую важную тему в ООП, да и вообще в программирование в целом, также здесь расскажу как наследовать из нескольких классов.

Что такое наследование в ООП:

Уже по названию можно понять что это концепция ООП, которая означает возможность наследовать свойства и методы одного класса, другим.

Этот принцип очень часто используется в программирование, поэтому, его обязательно стоит изучить и научится с ним работать.

Для чего нужно наследование:

Они используются в паттерном проектирование, если грубо говоря, это когда есть шаблон класс, в котором есть какие-то базовые компоненты для работы программы, вы можете его наследовать и модифицировать как вам надо, такой подход используют все WEB фреймворки.

Если вы не знаете что такое фреймворк, то прочитайте эту статью:
«Зачем нужен фреймворк и что это вообще такое»

Наследование в PHP:

Наследовать в PHP можно через ключевое слово extends, вот вам пример.

Вот результат.

Вывод свойств унаследованного класса

Как видите всё работает, но давайте разберём код подробнее, в начале идёт класс User, мы его разбирали в прошлых частях.

Самое интересное, это класс Admin, он наследуется от User, с помощью ключевого слова extends, после пишем название унаследованного класса.

В конструкторе класса Admin, мы сталкиваемся с двумя новыми вещами, это слово parent и оператор разрешения области видимости ::.

parent, позволяет вызвать родительский метод, а оператор ::, обращаться к статичным свойствам, методам, и также, как можете заметить обращаться к родительским методам.

Больше, нечего нового в этой программе нет, думаю всё понятно, если же нет, то пишите комментарии.

Область видимости:

В прошлой части мы уже изучали область видимости, теперь пришло время показать как это работает с наследованием.

Мы в основном изменили класс User, сначала выведем свойства через объект.

Вот какой результат.

Вывод объекта класса User

Как видите, когда доходит до фамилии, то он выводит ошибку, но это понятно, у нас фамилия приватный, но с возрастом будет такая же ошибка, он имеет protected.

Теперь результат, если выводить через метод show_name().

Вывод класса User через метод

Всё нормально выводит.

Разберём класс Admin, как он будет выводить данные.

Вот результат.

Вывод и показ как работает protected

Фамилию теперь вообще не выводит, напомню, фамилия приватна, а вот когда выводим возраст, появляется ошибка.

Если выводить данные через метод show_name(), то всё нормально выводится.

То есть, protected надо использовать когда вы собираетесь наследовать этот класс, с другой стороны, приватная область видимости не чего не выводит, хотя так вы не сразу поймёте в чем ошибка, а с protected, вы сразу всё поймёте.

Вывод:

В этой части учебника разобрали в PHP наследование классов, это пожалуй одна из важнейших тем в ООП, надеюсь всё было понятно.

Подписываетесь на соц-сети:

Оценка:

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд
(Пока оценок нет)
Загрузка...

Поделится:

Дополнительно: