|
Непонятки с наследованиемОбсуждение темы Непонятки с наследованием в разделе ASP, Perl, PHP и MySQL, часть категории ВЕБ-ПРОГРАММИРОВАНИЕ; PHP код: <? class One { function GetString () { return "one" ; } function Show () { echo self :: GetString ... |
|
Опции темы |
04.02.2010, 09:20 | #1 |
|
PHP код:
Мне одному кажется, что должно выводить "two"? Напоролся на эту траблу и не знаю, как ее красиво решить. Не хочу полностью дублировать большой класс с заменой всего одной функции. Добавлено через 1 час 54 минуты Хм. Не написал, в чем, собственно, вопрос. Это баг или фича? И есть ли элегантный способ заставить класс Two выводить "two"? Добавлено через 16 часов 0 минут Вопрос решился. Для PHP 5.3 вот так: PHP код:
Последний раз редактировалось Scroll; 04.02.2010 в 09:20.. Причина: Добавлено сообщение |
|
04.02.2010, 10:23 | #2 |
|
Вообщето, в объектно ориентированном программировании наследования статических методов не предполагается...
И вообще правильно писать было бы так: PHP код:
PHP код:
Последний раз редактировалось Асмодиан; 04.02.2010 в 10:28.. |
|
04.02.2010, 11:36 | #3 |
|
Угу, public опустил в примере за ненадобностью, static упустил, но его наличие в данном случае никак не влияет на результат.
А вот реализацию на синглтоне обдумывал, но, так как пишу API, решил не усложнять вызов методов: PHP код:
PHP код:
Добавлено через 29 минут На sql.ru убедили, что в данном случае мой подход неверен=) Пожалуй, все-таки перейду на синглтон. Последний раз редактировалось Scroll; 04.02.2010 в 11:36.. Причина: Добавлено сообщение |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
непонятки с оторбражением шрифта | DeCa | HTML, CSS, JavaScript | 2 | 01.03.2010 21:59 |
проблема с наследованием в Css | krimeano | HTML, CSS, JavaScript | 6 | 03.03.2006 14:34 |
Реклама на форуме
Условия размещения рекламы
Биржа ссылок
Заработай на сайте!
|