Обсуждение:Объектно-ориентированное программирование
Добавить темуЗамечания общего плана
[править]Тема замечательная, структура замечательная, правильные моменты обозначены -- тоже замечательно, НО
- Нужно больше ссылок на классику и википедию.
- Немного строгости не помешает. Просто явно нужно выделить определения. А то столько важных терминов даются в виде "для этого нужет, примерно такую проблему решает, такая идея заложено", а ответов на вопрос "что означает этот термин?" извлечь из текста невозможно. Чёткие ответы должны быть даны на такие вопросы: что такое класс и экземпляры класса, что такое интерфейс класса, что такое автоматическая сборка мусора (а никак не "мусорная корзина") и какая она бывает, что такое инкапсуляция, наследование.
- Кстати о структуре. После слова "Свойство:" хотелось бы видеть определение свойства.
- Что такое ОО парадигма не написано. Написано, что это хорошо известно. Так нельзя. Понимание, что такое ООП приходит в сравнении с другими парадигмами. Нужно написать, что это в первую очередь стиль мышления программиста при проектировании компьютерных систем, метод достижения модульности. Обозначить идею ООП -- иногда данные приложения и функциональность приложения можно разбить на куски, то есть естественно разбить на естественные пары (кусок данных, кусок функциональности) (привести яркие простые примеры --- телефонная книжка, контрол типа селектбар, .., структуры данных типа очередь, хэштаблица, ...). Иногда на такие пары функциональность и данные не разбиваются. Тогда и использовать ООП не нужно. Картинки нужны.
- Нужно обозначить роль ООП в индустрии программирования. Отметить, что все это собственно ради ОО дизайна (проектирования), а не ради программирования как такого. Отметить, что ООП -- это метод достижения модульности, реюза, упрощения задачи проекктирования за счет вертикальных метапереходов (вертикаль наследования) и горизонтального распределения функциональности и данных по классам. Причеи нужно это все описать простыми словами.
- Некотрорые непонятные (целевой аудитории) термины даются через еще более непонятные (целевой аудитории термины). Например, читаем «Свойство: Наследование у классов - одно из оснований ООП. Оно может быть использовано для выражения генерализации или специализации.» Генерализация и специализация -- можно эти слова не писать. А написать, что класс-ребёнка получает от родителя интерфейс вместе с реализацией функций, которые реализованы в родительском классе. Что такое интерфейс, функция с реализацией и виртуальная функция должно быть внятно описано выше. И что в классе-ребенке можно по другому реализовать некоторые функции родителя, реализовать некоторые виртуальные функции родителя и добавить сколько-то своих функций и членов. Обозначить здесь проблему -- при переопределении функции семантика родительских функций может быть потеряна, это вызывает сложность.
Нужно как бы каждую тему начинать очень простыми словами, писать буквально для школьников, а заканчивать обозначением и ссылками на сложные вещи, связанные с обозреваемым свойством ООП.
Плиз, не воспринимать в штыки. Просто у меня такой стиль, будто я всегда прав. На самом деле то, что я пишу -- это моё скромное субъективное мнение. В общем, автор --- пиши далее!!! Greck 18:56, 30 июля 2006 (UTC)
Зашел получить много новой и интересной информации, но обнаружил, что моих знаний больше чем в этом пособии. Пожалуй, тут не много сказано о объектно-ориентированном программировании, скорее об языках. Программирование - это несколько другое. В классике о языках только 5%... да и то лишь постольку поскольку.
В общем, есть на чем работать.Hamilyon 16:04, 27 января 2007 (UTC)
Я хочу написать подобный учебник. Однако я упор хочу сделать именно на что такое ООП. Также, я хочу его написать на английском. Хотелось бы поговрить о сотрудничестве. alexsmail 15:46, 14 апреля 2007 (UTC)
Мне кажется в разделе "Сборка мусора" фраза "Сбор мусора предоставляется программистами бесплатно" переведена (или написана) некорректно, я ее поправлю на "Сбор мусора происходит без участия программиста". 92.241.224.120 01:10, 16 января 2008 (UTC)
Статья очень хорошая, она помогает понять разницу между языками... Было бы неплохо если бы кто-нибудь умный дописал про С# в последних параграфах. Возможно не совсем верно называть эту статью "Объектно-ориентированное программирование", это скорее сравнение языков. Но статью удалять или капитально переделывать ни в коем случае нельзя. 94.30.233.164 07:00, 17 августа 2011 (UTC)