Модераторы: Се ля ви

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> ООП!!! Объектно Ориентированное Прогр 
:(
    Опции темы
Михаил Клишевич
Дата 23.5.2004, 16:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 23.5.2004

Репутация: нет
Всего: нет



Как известно, программирование развивалось как программирование структурное. В дальнейшем стиль изменился, оно стало объектно-ориентированным. Вопрос в слудующем: в чем заключалась революция ООП, если такая революция имела место?
PM MAIL   Вверх
mr.DUDA
Дата 23.5.2004, 17:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


3D-маньяк
****


Профиль
Группа: Экс. модератор
Сообщений: 8244
Регистрация: 27.7.2003
Где: город-герой Минск

Репутация: нет
Всего: 232



Цитата
ООП - это не просто набор некоторых свойств, добавленных в уже существующие языки. Это новый шаг в осмыслении задач и разработки ПО.
Программы - это совокупность взаимодействующих объектов. Каждый объект отвечает за конкретную задачу. Вычисление осуществляется посредством взаимодействия объектов. Объект получается в результате инкапсуляции состояния (данных) и поведения (операций), во многом аналогично абстрактному типу данных - АТД. Поведение объекта диктуется классом. Данные и поведение представлены в виде классов, экземпляры которых - объекты. Все экземпляры одного класса будут вести себя одинаковым образом в ответ на одинаковые запросы.

Объект проявляет свое поведение путем вызова метода в ответ на сообщение. Интерпретация сообщения зависит от объекта и может быть различной для различных классов объектов.
Для удобства создания нового типа из уже существующих типов, определенных пользователем используется механизм наследования. Классы могут быть организованы в виде иерархического дерева наследования.
С помощью уменьшения взаимозависимости ООП позволяет разрабатывать системы, пригодные для многократного использования.
ООП - это взгляд на программирование, сосредоточенный на данных; в котором данные и поведение жестко связаны. Для этого необходимо, чтобы объекты определялись вместе с сообщениями, на которые они могут реагировать.

Объектно-ориентированная парадигма предлагает новый подход к разработке программного обеспечения. Фундаментальная концепция объектно-ориентированной парадигмы состоит в передаче сообщений объектам.

ООП является лишь последним звеном в длиной цепи решений, которые были предложены для разрешения "кризиса программного обеспечения". Кризис программного обеспечения означает, что те задачи, которые мы хотим решить, опережают наши возможности.



--------------------
user posted image
PM MAIL WWW   Вверх
Михаил Клишевич
Дата 24.5.2004, 04:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 23.5.2004

Репутация: нет
Всего: нет



Я обращяюсь, к вам, как профессиональным программистам. И хочу, чтоб мне написали именно суть революции ООП. Суть - это точная, красиваю фраза из нескольких слов, которая так точно отражает мысль, что сам Архимед выпрыгнул бы из ванны!
Способны ли вы на такое, чем делать цитаты, ссылки на Страуструпа и флудить?
Добавлено @ 05:03
причем, желательно избегать таких слов как объекты, классы, инкапсуляция, параллелелизмполиморфизм и т.д. Способен ли кто из вас выразить суть в простых словах? Так чтоб человек, который не имеет отношения к программингу мог вас понять?
PM MAIL   Вверх
Конструктор
Дата 24.5.2004, 07:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 641
Регистрация: 12.5.2004
Где: Москва

Репутация: нет
Всего: 10



Я конечно не профессионал, но ИМХО ООП превнес в программирование приближение объектов реального мира к программным объектам, что значительно упросило работу с данными. huh2.gif
PM MAIL WWW ICQ   Вверх
achmed
Дата 24.5.2004, 10:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 150
Регистрация: 12.4.2004

Репутация: нет
Всего: нет



в ООП данные стали активными.

PM MAIL   Вверх
Dr.Death
Дата 24.5.2004, 12:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник Клуба
Сообщений: 950
Регистрация: 15.7.2003
Где: Волгоград

Репутация: нет
Всего: 1



Сначала были просто объекты со свойствами, как в паскале record, потом добавились методы и т.д.


--------------------
Жизнь коротка, чтобы быть в ней слабым.© Арнольд Шварцнеггер
PM MAIL WWW ICQ   Вверх
atamur
Дата 24.5.2004, 12:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 16.5.2004

Репутация: нет
Всего: нет



Объектно Ориентированное Программирование -
это метод программирования, при котором данные и методы
работы с ними неразделимы и создают новую структуру - объект.

При этом работа зхначительно облегчается, поскольку
объект сам хранит свои данные и сам же имеет методы для работы с ними,
а также сущ. такие вещи как наследование.

Подробнее читайте действительно у того же СтраусТрупа smile.gif
PM MAIL   Вверх
Sun
Дата 24.5.2004, 16:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Account removed
***


Профиль
Группа: Экс. модератор
Сообщений: 1611
Регистрация: 14.8.2002

Репутация: нет
Всего: 48



Цитата(atamur @ 24.5.2004, 09:17)
Подробнее читайте действительно у того же СтраусТрупа smile.gif

Лучше у Гради Буча, у него ООП рассматривается более абтрактно без привязки к определенному языку. К тому же книга написана очень доходчиво и интересно, с большим колличеством примеров.


--------------------
Account removed
PM MAIL   Вверх
akul
Дата 7.6.2004, 14:07 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Никакой революции не было. ООП - это просто набор выработанных практикой принципов программирования, позволяющих писать более надежный, переносимый и легкий в сопровождении код... Эти принципы оформили формально и сделали механизмы их поддержки со стороны языка. Причём пользоваться некоторыми из них можно было (и пользовались) без этой поддержки. Например, я использовал в сишных либах "hand-made VFT" в виде явно описанного массива указателей на функции для организации интерфейса с модулями-драйверами. Хорошо организованная сишная либа очень легко переводилась в C++, потому что уже была написана в объектном стиле.
  Вверх
boevik
Дата 7.6.2004, 14:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1452
Регистрация: 31.5.2004
Где: Израиль

Репутация: нет
Всего: 35



В основном разница это подход к проблеме.
В процедуральном, мы описываем проссец работы. К примеру, откроем файл, запишем, закроем.
В ООП, мы описываем объект. К примеру, объект Файл, можно открыть, записать и закрыть.
Часто, объекты это реальные объекты иа жизни.

Что из этого следует?
Мне как программисту легче понять клиента, который описывает проблему как работу с объектами. Мне надо только внимательно реализовать реальные объекты в объекты в программе и дать им заимодействовать с друг другом.

В этом основная разница между подходами.
И самое главное, нет такой программы, которую нельзя написать в обеих стилях.


--------------------
Никогда не говори никогда
PM MAIL WWW   Вверх
GFX
Дата 8.8.2005, 07:24 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Тема такая, что этот вопрос ОЧЕНЬ часто задают на собеседовании в крупных компаниях, при этом слово ОБЪЕКТ в ответе употреблять нельзя.
Говорят: Вот кодили процедурно, а потом начали ООП - с чем связан этот переход ?
  Вверх
Дрон
Дата 8.8.2005, 12:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Java-ненавистник :)
****


Профиль
Группа: Участник Клуба
Сообщений: 3179
Регистрация: 29.12.2002
Где: Санкт-Петербург

Репутация: нет
Всего: 92



Читайте Гради Буча "Объектно-ориентированный анализ и проектирование" smile

Цитата(GFX @ 8.8.2005, 08:24)
Вот кодили процедурно, а потом начали ООП - с чем связан этот переход ?

Цитата(Rentsch)
"В 1980-х годах объектно-ориентированное программирование будет занимать такое же место, какое занимало структурное программирование в 1970-х. но всем будет нравиться. Каждая фирма будет рекламировать свой продукт как зданный по этой технологии. Все программисты будут писать в этом стиле, причем все по-разному. Все менеджеры будут рассуждать о нем. И никто не будет знать, что же это такое"


А вообще переход к ООП связан с усложнением решаемых задач и ограниченностью человеческих возможностей.


--------------------
Да. Именно так.
PM   Вверх
Medved
Дата 5.1.2006, 19:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 7209
Регистрация: 15.9.2002
Где: Kazakhstan, Astan a

Репутация: нет
Всего: 154



Цитата(Михаил Клишевич @ 23.5.2004, 19:37 Найти цитируемый пост)

Как известно, программирование развивалось как программирование структурное. В дальнейшем стиль изменился, оно стало объектно-ориентированным. Вопрос в слудующем: в чем заключалась революция ООП, если такая революция имела место?


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

Понятие объектно-ориентированный подход, включает в себя три других, более мелких сущностей:
1. Объектно-ориентированный(ОО) анализ;
2. ОО проектирование
3. ОО программирование.

В совокупности, объектно-ориентированный подход, обеспечивает стабильный и предсказуемый процесс разработки крупного программного обеспечения.

Если отвечать на Ваш вопрос, то собственно, сам факт разработки такого подхода, и его дальнейшее и повсеместное применение, дало многим людям основание сказать, что произошла ОО революция в программировании.



--------------------
http://extreme.sport-express.ru/
...и неважно сколько падал, важно сколько ты вставал...
PM MAIL WWW ICQ Skype GTalk   Вверх
Се ля ви
Дата 6.1.2006, 00:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Java/SOAрхитектор
****


Профиль
Группа: Модератор
Сообщений: 2016
Регистрация: 5.6.2004
Где: place without tim e and space

Репутация: 6
Всего: 127



Где-то читал, что структурную программу становилось невозможно поддерживать, если её динна превышала 5 000 строк, процедурную - если превышала 50 000 и лишь ООП дало реальную возможность масштабировать бизнес-логику практически до беспредельных зазмеров.

Произошло это именно по причине того, что ООП языки шагнули от подхода "сделать так, как удобнее выполнять это машине" к подходу "сделать так, как удобнее понять, как это работает, человеку", ибо в основу легли не просто идеи сделать программирование похожим на реальный мир, а сделать его похожим на восприятие мира человеком, т.е. дать частично возможность использовать житейский интеллект, интуицию для программирования.


--------------------
  )
 (
[_])
проф. блог

Кролики думали, что занимаются любовью, а на самом деле их просто разводили...
PM MAIL WWW Skype GTalk   Вверх
Cr@$h
Дата 6.1.2006, 03:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Исследователь
***


Профиль
Группа: Участник Клуба
Сообщений: 1693
Регистрация: 3.4.2005
Где: Санкт-Петербург, Россия

Репутация: 1
Всего: 41



Предел для ООП есть. Помоему, это 10 в 5-ой или 6-ой.
Дальше идет компонентно-ориентированное программирование (КОП), например, как в шарпах. Говорю по Шилдту.
Оно позволяет строить относительно независимые компоненты. Организация идет на высоком уровне и свосем не важно, что внутри каждого компонента. Не надо спрашивать: "А что, с классами не так?" Немного не так -- взять диаграмму хоть из 30 классов и долго будете понимать, что есть что. При КОП можно доходить до 10 в 8-ой. Дальше опять голова не держит.
PM MAIL ICQ   Вверх
Страницы: (3) Все [1] 2 3 
Ответ в темуСоздание новой темы Создание опроса
Правила раздела "Философия программирования":
Се ля ви

Форум "Философия программирования" предназначен для обсуждения вопросов, так или иначе связанных с философскими аспектами разработки ПО:

• вопросы перспективного развития методов написания ПО;

• изменяющиеся языки и методологии программирования;


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Се ля ви.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Философия программирования | Следующая тема »


 




[ Время генерации скрипта: 0.0896 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.