![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| youri |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 740 Регистрация: 17.4.2004 Репутация: нет Всего: 16 |
по поводу родительского конструктора нашел такое
но нужно
но чтобы получить $obj нужно вызвать OtherClass::__construct вот такая рекурсия |
||||
|
|||||
| Sannis |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 375 Регистрация: 14.8.2007 Где: Москва Репутация: нет Всего: 13 |
Меня больше волнует вопрос "Зачем это делать?"
-------------------- |
|||
|
||||
| youri |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 740 Регистрация: 17.4.2004 Репутация: нет Всего: 16 |
ну это уже философия, может создать новую тему
ну очевидный ответ в том, чтобы создавать объекты и передавать в конструктор параметры, не зная заранее, что они собой должны представлять ситуация еще более усложняется, если мы не знаем заранее название класса, объект которого хотим создать или имелось в виду конкретнее? |
|||
|
||||
| Fortop |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2200 Регистрация: 13.11.2007 Где: Донецк Репутация: 1 Всего: 42 |
почему мы этого не знаем? И поддерживаю Sannis. Можно уточнить, какую реальную задачу должен решать этот метод? -------------------- Мир это Я. Живее всех живых. |
|||
|
||||
| gta4kv |
|
|||
![]() Walking around mad. ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1868 Регистрация: 25.7.2006 Репутация: нет Всего: 91 |
Да уж, странный метод
|
|||
|
||||
| Fortop |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2200 Регистрация: 13.11.2007 Где: Донецк Репутация: 1 Всего: 42 |
Ну, например, factory или builder могут предполагать нечто такое, но там это реализуется несколько иначе.
-------------------- Мир это Я. Живее всех живых. |
|||
|
||||
| Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 8 Всего: 261 |
Не могу ручаться, как в PHP реализовано, но в Сях и в других языках, конструктор не является по существу public функцией, которую можно вызывать из вне. В ПХП должно быть именно так.
С точки зрения логики, конструктор как бы возвращает созданный объект от того класса в котором он объявлен. Что будет, если это будет другой, внешний класс, лично я не могу понять.... Задача просто абсурдна в какой-то степени. |
|||
|
||||
| Fortop |
|
||||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2200 Регистрация: 13.11.2007 Где: Донецк Репутация: 1 Всего: 42 |
родительский конструктор вызывается вот так
конструктор любого другого(внешнего) класса вызывается вот так
-------------------- Мир это Я. Живее всех живых. |
||||||
|
|||||||
| Fortop |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2200 Регистрация: 13.11.2007 Где: Донецк Репутация: 1 Всего: 42 |
И да, такой вариант тоже допустим
-------------------- Мир это Я. Живее всех живых. |
|||
|
||||
| Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 8 Всего: 261 |
Fortop, с этим-то все понятно, при создании объекта.
Я про запись: $a = SomeClass::__construct(); , которая и является абсурдом. |
|||
|
||||
| Fortop |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2200 Регистрация: 13.11.2007 Где: Донецк Репутация: 1 Всего: 42 |
а, ну так это - бред.
Тут либо жареное, либо сырое. Либо класс, как неймспейс
либо классы с общим интерфейсом.
-------------------- Мир это Я. Живее всех живых. |
||||
|
|||||
| Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 8 Всего: 261 |
Я про это и говорю. Автор-то хочет __cinstruct вызывать в коде... (см п.1)
|
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Для профи | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |