Чат Telegram
Группа ВКонтакте
Новый комментарий


DmitryGavrilov

Спасибо классный урок, как работает разобрался, однако сформулировать для себя что именно такое полиморфизм до конца не смог)

ivashkevich

Главное что понял как работает, потом сформулируешь, программируй давай)

lig7771991@list.ru

В двух словах, если метод переопределен в дочернем классе, то по ссылке $this на объекте вызовется именно он, если не переопределен, то вызовется родительский.

ivashkevich

Суть не только в этом. Прежде всего это возможность зависеть от абстракций, а не от реализаций.

lig7771991@list.ru

Безусловно, просто с ходу понять эти абстракции очень не просто...

ivashkevich

Сходу да, со временем придёт =)

505-565@mail.ru

Можно на пальцах, что именно тут имеется ввиду под понятиями абстракция и реализация? Уроки мне нравятся, спасибо!

ivashkevich

Абстракция - это интерфейс, а реализация - это классы. Могут быть разные классы, реализующие один и тот же интерфейс.

505-565@mail.ru

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

ivashkevich

Интерфейс лишь показывает имена, аргументы и тип возвращаемого значения методов объекта. После того как в коде мы проверили что объект реализует интерфейс, мы можем вызывать у него методы, указанные в интерфейсе. Кроме того мы можем указать в качестве аргумента метода интерфейс, и передавать туда объект любого класса, реализующего этот интерфейс.

То есть зная, что перед нами объект, реализующий такой-то интерфейс, то мы можем вызывать у него вот такие методы с такими-то аргументами и ожидать, что он это вернет.

landialog

Рад что сюда попал. Толковое объяснение. Спасибо.

ivashkevich

На здоровье, дружище!)

505-565@mail.ru

Понятно, спасибо!

excent63

Спасибо за уроки!

ivashkevich

Спасибо за твой выбор в пользу этих уроков)

Онлайн обучение PHP
Путь с полного нуля до джуниора!
Начать бесплатно
Логические задачи с собеседований