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
Форумы портала PHP.SU :: Версия для печати :: ООП с самого начала [3]
Форумы портала PHP.SU » Разное » Обсуждение статей » ООП с самого начала

Страниц (4): « 1 2 [3] 4 »
 

31. tuareg - 12 Ноября, 2011 - 23:25:14 - перейти к сообщению
Да я абсолютно согласен с постом выше.
32. foozzi - 13 Ноября, 2011 - 14:05:45 - перейти к сообщению
огромное спасибище за столь детальное разжеванное объяснение, хотелось бы увидеть статейку по регулярным выражениям...
33. DeepVarvar - 13 Ноября, 2011 - 14:47:51 - перейти к сообщению
Ну до регулярок нам еще далеко. Нужна последовательность.
Надо вот это дописать. Ато самые интересные моменты и не описаны.

Вот тут по регуляркам хорошо написано: http://php.su/lessons/?lesson_17
34. EuGen - 14 Ноября, 2011 - 09:12:06 - перейти к сообщению
Позволю себе немного критики:
DeepVarvar пишет:
Если вы хотите писать код с помощью ООП, вы просто обязаны придерживаться такого написания кода как показано выше, а именно - отделять логику приложения от вывода результатов пользователю.

ООП - понятие более широкое, и имеет применение не только в веб. Даже на php существуют программы/проекты, которые, к примеру, вообще ничего не выводят.
DeepVarvar пишет:
$result = mysql_query("$query_string") or die(mysql_error());

Я бы заменил хотя бы на:
PHP:
скопировать код в буфер обмена
  1. $result = mysql_query("$query_string") or throw new Exception(mysql_error());

- неудачный пример показывать в статье то, как делать не надо (а именно - писать код, который может прерваться во время выполнения)
DeepVarvar пишет:
Объединение (не процесс объединения, а содружество функций) нескольких методов, которые выполняют один некий тип действий, это и есть - класс.

Нет, это не так. Класс - есть некоторая отдельная самостоятельная сущность. Определение (посылка) неверно, и Вы можете исходя из него получать дальнейшие неверные построения (следствия).
DeepVarvar пишет:
var $name = null;

Рекомендовал бы заменить на

- присваивать null не обязательно (это по желанию) и, кроме того, var - устаревшее объявление.
DeepVarvar пишет:
Если пытаться вызвать метод объекта который еще не создан - произойдет ошибка.

Но на самом-то деле есть __call и иже с ними. Поэтому (если Вы не желаете сразу все рассказывать(за один раз) читателю), можно просто в этом месте умолчать, но не писать о том, что непременно будет ошибка.

Как постскриптум - что же в статье собственно про ООП? Классы - да, про объекты - что-то, про методы - тоже. Но это не ООП.
35. Stierus - 14 Ноября, 2011 - 09:48:16 - перейти к сообщению
Просьба к автору переименовать статью в что-то вроде "мое видение классов в php", к нормальной работе с классами и, тем более, ООП, она отношения не имеет.
36. Самогонщик - 14 Ноября, 2011 - 09:59:50 - перейти к сообщению
Тут нужно бы сказать, что ООП вообще не завязан на классы, а классы это способ реализации.

И да, класс обычно описывает объект, и самый сложный вопрос понять какой именно объект он описывает и как правильно выделять объекты для описания. Обычно это делается так: мне нужен объект, который будет *варить мне кофе*.

EuGen пишет:
DeepVarvar пишет:
Объединение (не процесс объединения, а содружество функций) нескольких методов, которые выполняют один некий тип действий, это и есть - класс.

Нет, это не так. Класс - есть некоторая отдельная самостоятельная сущность. Определение (посылка) неверно, и Вы можете исходя из него получать дальнейшие неверные построения (следствия).

Я бы тут выделил две мысли: техническая(механическая) реализация класса и концептуальная. Первая очень важна и позволяет просто написать класс, хоть и не правильный, кривой, но работающий. Понимание чем отличается класс от объекта (экземпляра класса) должно привиться на первых парах. А вот концепцию уже можно рассказывать как выделяются объекты, как они создаются и т.д. Но правильно определение дать нужно.

Класс это описание объекта *много текста*. Класс реализуется как описание данных и функций *много текста*.
37. DeepVarvar - 14 Ноября, 2011 - 14:37:54 - перейти к сообщению
Бла бла бла...
Даже не буду копировать ваши изречения и отвечать на них..
Просто повторю еще раз что загромождать не понимающую голову новичка вашими терминами сходу да в горячую воду - он ничего не поймет. Вообще..
Все что вы щас наотмечали нужно описывать в дальнейшем.
Более того некоторые моменты были обсуждены в комментариях с пользователем tuareg.

Я то вас понимаю - они, нет.. Где последовательность?
Хотите я вас нагружу сейчас радиотехническими терминами или музыкальной гармонией?
Кто из вас знает (хотябы) что такое двойная доминанта или корреляционный прием?
38. EuGen - 14 Ноября, 2011 - 14:51:07 - перейти к сообщению
DeepVarvar пишет:
двойная доминанта

Во-первых, какое отношение имеет композиторская/музыкальная тематика к программированию?, равно как и
DeepVarvar пишет:
корреляционный прием?

физика случайных процессов
- если Вы дадите мне аргументированный ответ, будем считать это недоразумением. В противном случае это будет расцениваться как неадекватный выпад по отношению к тем, кто отписался выше. Сказано это так, потому что во-вторых, Вам указали конструктивно, аргументированно обосновав критику, а Вы в ответ
DeepVarvar пишет:
Бла бла бла...
Даже не буду копировать ваши изречения и отвечать на них..

- если Вы размещаете статью, именно статью, то потрудитесь, чтобы она соответствовала действительности. Иначе получится, что новички "вроде бы поймут", а на самом деле произойдет подмена понятий - в лучшем случае, неверная их трактовка - скорее всего, и некорректная/неправильная вообще информация - в худшем случае.
В третьих, если имеет место быть
DeepVarvar пишет:
Я то вас понимаю - они, нет.. Где последовательность?

То Вы бы знали, что для новичков статьи по именно ООП писать нет смысла. И здесь, на php.su, ее нет не потому, что нет знаний/желания/времени.
Просто такая статья - полностью корректная - бессмысленна. Человек либо не понимает ООП - понимания нет/не пришло, либо он его понимает - понимание уже есть/пришло. В первом случае статья ему ничего не даст - он не поймет и так, во втором - статья ему уже не нужна, так как есть понимание.
39. kappa - 14 Ноября, 2011 - 15:50:05 - перейти к сообщению
DeepVarvar
Мне лично было интересно почитать.
Спасибо!
Если будет продолжение, то очень бы хотелось услышать про обработку исключений (Exception) на примере.
40. DeepVarvar - 14 Ноября, 2011 - 16:05:52 - перейти к сообщению
EuGen пишет:
аргументированный ответ

Да, есть аргумент. Дело в том, что в свое время читая статьи или учебники мне было сложно понять о чем пишут.
Согласитесь, очень сложно перескочить через ступеньку, все должно быть последовательным.
EuGen пишет:
какое отношение имеет композитроская/музыкальная тематика к программированию?
Никакого. Но и для новичка информация находящаяся выше на несколько ступеней (не сложности, а осознания) - так же никакого.
Она не связана в голове единой картиной. Поэтому непонятна.
То что я раздул на длинную скатерть, можно описать в одном абзаце.
EuGen пишет:
Просто такая статья - полностью корректная - бессмысленна. Человек либо не понимает ООП - понимания нет/не пришло, либо он его понимает - понимание уже есть/пришло. В первом случае статья ему ничего не даст - он не поймет и так, во втором - статья ему уже не нужна, так как есть понимание.
Жесткая правда.

Я преследовал осветить именно сторону реализации.
Люди же знающие и так знают, и в комментариях выше пишут то, что уже было обсуждено еще выше.
Нужно немного внимательнее смотреть что там уже писали.
EuGen пишет:
вроде бы поймут
Я писал именно так, как начинал понимать сам. Зацепился именно за то, что уже понятно и понял еще чуть-чуть.
EuGen смысл есть всегда, один человек уже сказал спасибо. Он понял смысл реализации.
Я не знал что бы вы хотели читать в статье. Я знал что хотел читать новичек.
Я в статье дал ложную информацию? Нет. Она всего лишь не целостна. А меня размыливают как котенка. Радость
41. Stierus - 14 Ноября, 2011 - 16:20:03 - перейти к сообщению
Сформулирую вопрос Евгена более грубо: Ты уверен, что сам понимаешь все правильно и этой статьей не вводишь новичков в заблуждение?

Еще раз повторю свою просьбу - переименуй статью Улыбка Она к ООп не имеет ни малейшего отношения, даже про классы рассказывает не так, как есть на самом деле (как следует делать на самом деле), ООП даже мельком не задето ... да и не может быть задето.
42. EuGen - 14 Ноября, 2011 - 16:20:36 - перейти к сообщению
Дело не в размыливании.
Ваши аргументы (касаемо музыки с физикой) частично приняты, забудем.
Моя позиция заключается в том, что бессмысленно делать попытку объяснить ООП для новичков. Это те самые ступеньки, про которые Вы сказали.
Ведь нельзя же, право, пытаться дать понимание, например, интеграла с переменным верхним пределом для учеников 5-го класса. Не поймут. Но писать им, например, ряд для первообразной (то есть по факту банальное сложение), находя его численно для некоторых значений верхнего предела - и потом называть это интегралом с переменным верхним пределом - неверно. Да, они поймут формулу, так как там только сложение. Они поймут как вычислять этот интеграл для определенных случаев. Но понимания что же это такое - у них не будет. Хуже того, они будут думать, что у них это понимание есть, однако по факту это будет не правдой. Вот как можно на примере высказать мою мысль.
DeepVarvar пишет:

Я преследовал осветить именно сторону реализации.

Так Вы осветили просто реализацию классов в PHP, в отрыве от ООП. Просто - наподобие синтаксического обзора с элементами того, где это можно удачно применить. Это ведь не ООП.
Я против подмены понятий, только и всего. Это я говорю как комментарий к:
DeepVarvar пишет:
Я в статье дал ложную информацию? Нет. Она всего лишь не целостна

- пусть и косвенно, но Вы дали некорректную инормацию.

Stierus пишет:
Еще раз повторю свою просьбу - переименуй статью

Это могут сделать только модераторы данного раздела или супермодераторы.
43. Самогонщик - 14 Ноября, 2011 - 16:29:54 - перейти к сообщению
DeepVarvar пишет:
Объединение (не процесс объединения, а содружество функций) нескольких методов, которые выполняют один некий тип действий, это и есть - класс.
Вот с этим я люто бешено не согласен. Нельзя давать неверные определения, а если на них ссылаться будут?

Вот если было бы написано, что класс это описание объекта, а такое описание на пхп представляет... и далее то что в цитате, тогда было бы нормально.
44. DeepVarvar - 14 Ноября, 2011 - 18:25:02 - перейти к сообщению
Stierus пишет:
переименуй статью

EuGen, переименуйте, я не против. Назовем это обзором... ну скажем "ООП рядом".
Статью я подредактирую - отойдем от конкретики, оставим ключевые моменты.
Самогонщик пишет:
Вот с этим я люто бешено не согласен. Нельзя давать неверные определения, а если на них ссылаться будут?

DeepVarvar пишет:
Объект, это то что мы описали в классе. Т.е. класс это прототип будущего объекта. Сперва мы описываем класс с его методами и свойствами, а затем создаем объект на основе описанного класса

EuGen пишет:
Моя позиция заключается в том, что бессмысленно делать попытку объяснить ООП для новичков.
Да, я свами согдасен. Но мы снова упираемся в эти самые "ступеньки", к тому же еще и "углы" из-за которых не видно что же там в ООП есть. Однако без практических примеров, хотябы даже таких вот "абстрактных" дело с мертвой точки даже не сдвинется.
Stierus пишет:
Ты уверен, что сам понимаешь все правильно и этой статьей не вводишь новичков в заблуждение?
Я понимаю не все, но многое. Опыт мал.
Однако, задайте мне более конкретный вопрос по данной тематике, дабы убедиться что в глубокое заблуждение я новичка вводить не собираюсь.
Поверьте, уж такого желания точно нет.
45. Самогонщик - 14 Ноября, 2011 - 19:13:01 - перейти к сообщению
Прочитал внимательнее, осталось ощущение, что написано как то не так: прыжки с класса на объект и обратно. И получается, что первичен класс, а не объект. Этот момент нужно более чётко прописать к статье, имхо.

 

Powered by ExBB FM 1.0 RC1