Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: динамическое изменение классов
Форумы портала PHP.SU » » Объектно-ориентированное программирование » динамическое изменение классов

Страниц (1): [1]
 

1. White - 28 Июля, 2011 - 09:56:57 - перейти к сообщению
Насколько я понимаю, являясь языком с классовым подходом к ООП php не поддерживает динамическое изменение методов объекта, как в языках с прототипированием.
Довольно часто возникают ситуации, в которых хотелось бы (скажем по условию) расширить (изменить) методы одного класса методами другого, но за неимением такой возможности приходится применять другие способы. т.е. как в примере с полиморфизмом есть один класс с общими свойствами, и несколько его потомков. Разница в том, что создавая экземпляр объекта мы знаем что это объект родительского класса, а методами какого из потомков его расширить, определимся позже.
Хотелось бы знать планируется ли что-то подобное в новых версиях php, ну и вообще услышать о недостатках такого подхода.
2. White - 29 Июля, 2011 - 09:59:05 - перейти к сообщению
и все таки определенные шаги в этом направлении сделаны http://php.net/manual/ru/languag....overloading.php
по слухам в php6 будет возможно динамическое создание классов. похоже создатели php хотят совместить классовый подход и прототипирование...

 

Powered by ExBB FM 1.0 RC1