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
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: Давайте поиграем в ООП (=
Следующий расширяет мой класс, перекрывать существующие методы нельзя! (Добавление)
Для повторного участия называйте класс NickVer2 и т.д. (Добавление)
Использовать чужие методы конечно же можно (=
----- просто ?: сложно
DeepVarvar
Отправлено: 26 Февраля, 2013 - 02:21:41
Активный участник
Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008 Откуда: Альфа Центавра
Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007 Откуда: Berlin
Помог: 707 раз(а)
Вот и я к тому. А именно - что правила неоднозначны и не защищают от "замкнутых" вариантов, когда игра завершается по причине невозможности её продолжения.
Вообще, любопытно, как далеко это бы зашло и какие методы работы в итоге бы возникли. К ООП, наверное, это все же имело бы слабое отношение (после 30-40 наследований), но тем не менее.
Можно считать мой комментарий - лишь примером и не учитывать его в дискуссии.
----- Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
DelphinPRO
Отправлено: 26 Февраля, 2013 - 09:05:23
Активный участник
Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012
Покинул форум
Сообщений всего: 468
Дата рег-ции: Сент. 2011 Откуда: Владивосток
Помог: 8 раз(а)
Этот так сказать тестовый заезд (=, на самом деле пока обедал такая вот идейка пришла.
А правила можно всегда поправить и выпустить 2.0 версию игры, надо бы лучше продумать.
----- просто ?: сложно
EuGen
Отправлено: 26 Февраля, 2013 - 09:24:15
Профессионал
Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007 Откуда: Berlin
Помог: 707 раз(а)
Суть в том, что плохо наследоваться от одной сущности. Добавить сюда, скажем, интерфейсы (стартовые), и пусть участники либо наследуются от имеющихся сущностей, либо реализуют базовый интерфейс(ы), сообразно тому, правильно ли по его (участника) ощущениям это или нет. Этим можно будет избавиться от десятков наследований, да и система получится более разветвтленная и сбалансированная.
Разумеется, стандартные интерфейсы(Traversable, Serializable и т.п.) точно так же можно реализовывать. А, возможно, стоит дать возможность добавлять и свои интерфейсы, которые станут базовыми (однако не каждый комментарий, он же "ход")
----- Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
DlTA
Отправлено: 26 Февраля, 2013 - 09:27:39
Постоянный участник
Покинул форум
Сообщений всего: 2952
Дата рег-ции: Окт. 2010
Помог: 53 раз(а)
а еще стоит использовать иной способ хранения кода,
не в постах, а то как потом проверять валидность (отсутствие переопределения и т.д.)
а так бы компилятор проверял (Добавление)
и договориться о версии пыха
OrmaJever
Отправлено: 26 Февраля, 2013 - 10:08:31
Активный участник
Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010 Откуда: Чернигов
Помог: 299 раз(а)
Блин, а идея то интересная! Даже очень интересная, только нужно как уже многие говорили, обговорить правила, версию php и где хранить код.
----- Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
EuGen
Отправлено: 26 Февраля, 2013 - 10:23:10
Профессионал
Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007 Откуда: Berlin
Помог: 707 раз(а)
Верно. С интерфейсами - так вообще игра в "ассоциации" выходит. Вот я напишу прототип в интерфейсе - и пусть все догадываются, что же я имел ввиду и пишут реализации.
Предлагаю условиться: версия PHP строго 5.4 - тогда, например, рефлексию можно будет использовать.
Начало:
- здесь я привожу сразу два "хода" для понимания того, какие могут быть правила "игры", а так же понять, можно ли их применять, эти правила, и интересно ли. Стоит добавить, думаю, то, что базовые интерфейсы можно "расширять", добавляя в них прототипы, но вот "сужать" не следует, поскольку тогда реализации этих интерфейсов могут стать некорректными.
----- Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
DlTA
Отправлено: 26 Февраля, 2013 - 11:25:48
Постоянный участник
Покинул форум
Сообщений всего: 2952
Дата рег-ции: Окт. 2010
Помог: 53 раз(а)
может все же и тему выбрать
а то уж сильно большие ребусы получаются... (Добавление)
а еще б хорошо описание прикручивать в корректной форме, а то только код как то не корректно.
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.