Найти тему
Камиль Абзалов

PHP. ООП. Наследование классов

В этом уроке мы продолжим знакомиться с парадигмой ООП в языке PHP. Рекомендую посмотреть вам прошлый урок, чтобы понимать предмет нашего сегодняшнего разговора. Сегодня мы обсудим наследование классов. Наследование — один из «китов» ООП. Два других «кита» — это инкапcуляция и полиморфизм, с которым мы тоже повстречаемся в этом уроке.

Давайте начнем с теории — в основе ООП, как уже упоминалось выше и говорится во многих других источниках, лежат три столпа — инкапсуляция, наследование и полиморфизм.

Инкапсуляция — это способность объекта/класса скрывать свою внутреннюю реализацию, предоставляя пользователю (разработчику) готовый интерфейс. Например, когда вы пользуетесь компьютером, вы не задаетесь вопросом, как сохраняются ваши данные, куда идут сигналы от устройства ввода в компьютер и так далее. У вас есть готовые средства, которые вам предоставляет компьютер. В ООП это по факту методы класса.

Наследование, уверен,  уже понятно из названия. Класс может унаследовать свойства и методы другого класса (смотрите код). Например, мы многое унаследовали от наших мам и пап.

Полиморфизм связан с наследованием — это возможность объекта переопределять методы потомка. Например, в коде мы переопределили метод setName().

Отмечу еще несколько важных вещей:
старайтесь следовать правилу — «один класс — один файл», не определяйте несколько классов одном файле.
В дочернем классе есть возможность вызывать конструктор родителя, используя ключевое слово parent::.

Рекомендую вам почитать раздел ООП на сайте php. Выскажу личное мнение — мне документация в данном разделе показалась непростой. Можно найти немало ресурсов на более простом языке.

Код урока - http://kamil-abzalov.ru/videouroki/php/php-oop-classes-inheritance/