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 :: ООП с самого начала [3]
Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007 Откуда: Berlin
Помог: 707 раз(а)
Позволю себе немного критики:
DeepVarvar пишет:
Если вы хотите писать код с помощью ООП, вы просто обязаны придерживаться такого написания кода как показано выше, а именно - отделять логику приложения от вывода результатов пользователю.
ООП - понятие более широкое, и имеет применение не только в веб. Даже на php существуют программы/проекты, которые, к примеру, вообще ничего не выводят.
DeepVarvar пишет:
$result = mysql_query("$query_string") or die(mysql_error());
- неудачный пример показывать в статье то, как делать не надо (а именно - писать код, который может прерваться во время выполнения)
DeepVarvar пишет:
Объединение (не процесс объединения, а содружество функций) нескольких методов, которые выполняют один некий тип действий, это и есть - класс.
Нет, это не так. Класс - есть некоторая отдельная самостоятельная сущность. Определение (посылка) неверно, и Вы можете исходя из него получать дальнейшие неверные построения (следствия).
- присваивать null не обязательно (это по желанию) и, кроме того, var - устаревшее объявление.
DeepVarvar пишет:
Если пытаться вызвать метод объекта который еще не создан - произойдет ошибка.
Но на самом-то деле есть __call и иже с ними. Поэтому (если Вы не желаете сразу все рассказывать(за один раз) читателю), можно просто в этом месте умолчать, но не писать о том, что непременно будет ошибка.
Как постскриптум - что же в статье собственно про ООП? Классы - да, про объекты - что-то, про методы - тоже. Но это не ООП.
----- Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
Stierus
Отправлено: 14 Ноября, 2011 - 09:48:16
Рекордсмен по количеству сообщений за 7 дней
Покинул форум
Сообщений всего: 2132
Дата рег-ции: Дек. 2008 Откуда: Москваль
Помог: 52 раз(а)
Просьба к автору переименовать статью в что-то вроде "мое видение классов в php", к нормальной работе с классами и, тем более, ООП, она отношения не имеет.
Самогонщик
Отправлено: 14 Ноября, 2011 - 09:59:50
Посетитель
Покинул форум
Сообщений всего: 495
Дата рег-ции: Окт. 2011
Помог: 8 раз(а)
Тут нужно бы сказать, что ООП вообще не завязан на классы, а классы это способ реализации.
И да, класс обычно описывает объект, и самый сложный вопрос понять какой именно объект он описывает и как правильно выделять объекты для описания. Обычно это делается так: мне нужен объект, который будет *варить мне кофе*.
EuGen пишет:
DeepVarvar пишет:
Объединение (не процесс объединения, а содружество функций) нескольких методов, которые выполняют один некий тип действий, это и есть - класс.
Нет, это не так. Класс - есть некоторая отдельная самостоятельная сущность. Определение (посылка) неверно, и Вы можете исходя из него получать дальнейшие неверные построения (следствия).
Я бы тут выделил две мысли: техническая(механическая) реализация класса и концептуальная. Первая очень важна и позволяет просто написать класс, хоть и не правильный, кривой, но работающий. Понимание чем отличается класс от объекта (экземпляра класса) должно привиться на первых парах. А вот концепцию уже можно рассказывать как выделяются объекты, как они создаются и т.д. Но правильно определение дать нужно.
Класс это описание объекта *много текста*. Класс реализуется как описание данных и функций *много текста*.
DeepVarvar
Отправлено: 14 Ноября, 2011 - 14:37:54
Активный участник
Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008 Откуда: Альфа Центавра
Помог: 353 раз(а)
Бла бла бла...
Даже не буду копировать ваши изречения и отвечать на них..
Просто повторю еще раз что загромождать не понимающую голову новичка вашими терминами сходу да в горячую воду - он ничего не поймет. Вообще..
Все что вы щас наотмечали нужно описывать в дальнейшем.
Более того некоторые моменты были обсуждены в комментариях с пользователем tuareg.
Я то вас понимаю - они, нет.. Где последовательность?
Хотите я вас нагружу сейчас радиотехническими терминами или музыкальной гармонией?
Кто из вас знает (хотябы) что такое двойная доминанта или корреляционный прием?
Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007 Откуда: Berlin
Помог: 707 раз(а)
DeepVarvar пишет:
двойная доминанта
Во-первых, какое отношение имеет композиторская/музыкальная тематика к программированию?, равно как и
DeepVarvar пишет:
корреляционный прием?
физика случайных процессов
- если Вы дадите мне аргументированный ответ, будем считать это недоразумением. В противном случае это будет расцениваться как неадекватный выпад по отношению к тем, кто отписался выше. Сказано это так, потому что во-вторых, Вам указали конструктивно, аргументированно обосновав критику, а Вы в ответ
DeepVarvar пишет:
Бла бла бла...
Даже не буду копировать ваши изречения и отвечать на них..
- если Вы размещаете статью, именно статью, то потрудитесь, чтобы она соответствовала действительности. Иначе получится, что новички "вроде бы поймут", а на самом деле произойдет подмена понятий - в лучшем случае, неверная их трактовка - скорее всего, и некорректная/неправильная вообще информация - в худшем случае.
В третьих, если имеет место быть
DeepVarvar пишет:
Я то вас понимаю - они, нет.. Где последовательность?
То Вы бы знали, что для новичков статьи по именно ООП писать нет смысла. И здесь, на php.su, ее нет не потому, что нет знаний/желания/времени.
Просто такая статья - полностью корректная - бессмысленна. Человек либо не понимает ООП - понимания нет/не пришло, либо он его понимает - понимание уже есть/пришло. В первом случае статья ему ничего не даст - он не поймет и так, во втором - статья ему уже не нужна, так как есть понимание.
----- Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
kappa
Отправлено: 14 Ноября, 2011 - 15:50:05
Посетитель
Покинул форум
Сообщений всего: 349
Дата рег-ции: Апр. 2011
Помог: 3 раз(а)
DeepVarvar
Мне лично было интересно почитать.
Спасибо!
Если будет продолжение, то очень бы хотелось услышать про обработку исключений (Exception) на примере.
DeepVarvar
Отправлено: 14 Ноября, 2011 - 16:05:52
Активный участник
Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008 Откуда: Альфа Центавра
Помог: 353 раз(а)
EuGen пишет:
аргументированный ответ
Да, есть аргумент. Дело в том, что в свое время читая статьи или учебники мне было сложно понять о чем пишут.
Согласитесь, очень сложно перескочить через ступеньку, все должно быть последовательным.
EuGen пишет:
какое отношение имеет композитроская/музыкальная тематика к программированию?
Никакого. Но и для новичка информация находящаяся выше на несколько ступеней (не сложности, а осознания) - так же никакого.
Она не связана в голове единой картиной. Поэтому непонятна.
То что я раздул на длинную скатерть, можно описать в одном абзаце.
EuGen пишет:
Просто такая статья - полностью корректная - бессмысленна. Человек либо не понимает ООП - понимания нет/не пришло, либо он его понимает - понимание уже есть/пришло. В первом случае статья ему ничего не даст - он не поймет и так, во втором - статья ему уже не нужна, так как есть понимание.
Жесткая правда.
Я преследовал осветить именно сторону реализации.
Люди же знающие и так знают, и в комментариях выше пишут то, что уже было обсуждено еще выше.
Нужно немного внимательнее смотреть что там уже писали.
EuGen пишет:
вроде бы поймут
Я писал именно так, как начинал понимать сам. Зацепился именно за то, что уже понятно и понял еще чуть-чуть. EuGen смысл есть всегда, один человек уже сказал спасибо. Он понял смысл реализации.
Я не знал что бы вы хотели читать в статье. Я знал что хотел читать новичек.
Я в статье дал ложную информацию? Нет. Она всего лишь не целостна. А меня размыливают как котенка.
Покинул форум
Сообщений всего: 2132
Дата рег-ции: Дек. 2008 Откуда: Москваль
Помог: 52 раз(а)
Сформулирую вопрос Евгена более грубо: Ты уверен, что сам понимаешь все правильно и этой статьей не вводишь новичков в заблуждение?
Еще раз повторю свою просьбу - переименуй статью Она к ООп не имеет ни малейшего отношения, даже про классы рассказывает не так, как есть на самом деле (как следует делать на самом деле), ООП даже мельком не задето ... да и не может быть задето.
EuGen
Отправлено: 14 Ноября, 2011 - 16:20:36
Профессионал
Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007 Откуда: Berlin
Помог: 707 раз(а)
Дело не в размыливании.
Ваши аргументы (касаемо музыки с физикой) частично приняты, забудем.
Моя позиция заключается в том, что бессмысленно делать попытку объяснить ООП для новичков. Это те самые ступеньки, про которые Вы сказали.
Ведь нельзя же, право, пытаться дать понимание, например, интеграла с переменным верхним пределом для учеников 5-го класса. Не поймут. Но писать им, например, ряд для первообразной (то есть по факту банальное сложение), находя его численно для некоторых значений верхнего предела - и потом называть это интегралом с переменным верхним пределом - неверно. Да, они поймут формулу, так как там только сложение. Они поймут как вычислять этот интеграл для определенных случаев. Но понимания что же это такое - у них не будет. Хуже того, они будут думать, что у них это понимание есть, однако по факту это будет не правдой. Вот как можно на примере высказать мою мысль.
DeepVarvar пишет:
Я преследовал осветить именно сторону реализации.
Так Вы осветили просто реализацию классов в PHP, в отрыве от ООП. Просто - наподобие синтаксического обзора с элементами того, где это можно удачно применить. Это ведь не ООП.
Я против подмены понятий, только и всего. Это я говорю как комментарий к:
DeepVarvar пишет:
Я в статье дал ложную информацию? Нет. Она всего лишь не целостна
- пусть и косвенно, но Вы дали некорректную инормацию.
Stierus пишет:
Еще раз повторю свою просьбу - переименуй статью
Это могут сделать только модераторы данного раздела или супермодераторы.
----- Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
Самогонщик
Отправлено: 14 Ноября, 2011 - 16:29:54
Посетитель
Покинул форум
Сообщений всего: 495
Дата рег-ции: Окт. 2011
Помог: 8 раз(а)
DeepVarvar пишет:
Объединение (не процесс объединения, а содружество функций) нескольких методов, которые выполняют один некий тип действий, это и есть - класс.
Вот с этим я люто бешено не согласен. Нельзя давать неверные определения, а если на них ссылаться будут?
Вот если было бы написано, что класс это описание объекта, а такое описание на пхп представляет... и далее то что в цитате, тогда было бы нормально.
DeepVarvar
Отправлено: 14 Ноября, 2011 - 18:25:02
Активный участник
Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008 Откуда: Альфа Центавра
Помог: 353 раз(а)
Stierus пишет:
переименуй статью
EuGen, переименуйте, я не против. Назовем это обзором... ну скажем "ООП рядом".
Статью я подредактирую - отойдем от конкретики, оставим ключевые моменты.
Самогонщик пишет:
Вот с этим я люто бешено не согласен. Нельзя давать неверные определения, а если на них ссылаться будут?
DeepVarvar пишет:
Объект, это то что мы описали в классе. Т.е. класс это прототип будущего объекта. Сперва мы описываем класс с его методами и свойствами, а затем создаем объект на основе описанного класса
EuGen пишет:
Моя позиция заключается в том, что бессмысленно делать попытку объяснить ООП для новичков.
Да, я свами согдасен. Но мы снова упираемся в эти самые "ступеньки", к тому же еще и "углы" из-за которых не видно что же там в ООП есть. Однако без практических примеров, хотябы даже таких вот "абстрактных" дело с мертвой точки даже не сдвинется.
Stierus пишет:
Ты уверен, что сам понимаешь все правильно и этой статьей не вводишь новичков в заблуждение?
Я понимаю не все, но многое. Опыт мал.
Однако, задайте мне более конкретный вопрос по данной тематике, дабы убедиться что в глубокое заблуждение я новичка вводить не собираюсь.
Поверьте, уж такого желания точно нет.
Покинул форум
Сообщений всего: 495
Дата рег-ции: Окт. 2011
Помог: 8 раз(а)
Прочитал внимательнее, осталось ощущение, что написано как то не так: прыжки с класса на объект и обратно. И получается, что первичен класс, а не объект. Этот момент нужно более чётко прописать к статье, имхо.
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.