Динамический полиморфизм в PHP - PullRequest
3 голосов
/ 19 ноября 2010

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

Ответы [ 4 ]

2 голосов
/ 19 ноября 2010

Нет ничего похожего на классы шаблонов, но вы можете очень сильно добиться различного поведения во время выполнения, используя абстрактные классы и интерфейсы, а также используя шаблоны проектирования, такие как State, Decorator, Strategy и другие.

related: Является ли полиморфизм в PHP действительно полиморфизмом?

2 голосов
/ 19 ноября 2010
1 голос
/ 19 ноября 2010

Вы можете использовать интерфейсы для добавления общих функций в классы. Конечно, вы также можете переопределять определенные функции и расширять классы. Наиболее распространенный способ, которым я полиморфирую функциональность моих классов, - это начинать с базового (шаблонного) класса и расширять его для каждого разветвления в его дереве использования.

1 голос
/ 19 ноября 2010

Вы можете использовать интерфейсы, а также абстрактные классы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...