|
![]() |
#1 |
Дмитрий Ерин
|
Цитата:
Изначально опубликовано Lexey
Приведение по-аксаптовскию Выглядит дико, но работает PHP код:
![]() В Вашем примере вызовется метод класса С (то есть рекурсия) и произойдет переполнение стека. ded = this приводит к тому, что дед становится внуком. Это в дебаггере хорошо видно (хоть и странновато). У переменной ded после такого присвоения Type будет указывать по-прежнему на А, но Value покажет new, C. Или я Вас неправильно понял? Так как же все-таки работает приведение (пусть даже дикое)? Остальные предложенные варианты вполне очевидны... Но, интересно, кто-нибудь думал о варианте, когда классы А и В - системные? ![]()
__________________
![]() |
|