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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> ООП!!! Объектно Ориентированное Прогр 
:(
    Опции темы
Medved
Дата 20.2.2006, 02:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Ты сам ответил на свой вопрос.


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


Эксперт
****


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

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



Разница между ПОП и ООП такая-же как и между коммунизмом и капитализмом.
Коммунизм: всё общее, дети, жены. Эдакий конвеерный подход. В ООП такие вещи имеют аналогии менеджеры. Т.е. идёт себе кучка голых данных по конвееру а её каждая процедура изменяет.
С другой стороны, в ООП прорисовываться некоторая аналогия с западным капиталистическим обществом. Индивидуальность, семья, приватные вещи очень сильно ценяться.


--------------------
Цитата(Jimi Hendrix)
Well, I stand up next to a mountain
And I chop it down with the edge of my hand
PM MAIL WWW   Вверх
Vendigo
Дата 20.2.2006, 22:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



2 Pegas
Ну хорошо, может быть вы правы и я сам ответил на свой вопрос. И все же примера реализации "Жизни" методом ООП не будет? Хотя бы в двух словах, что там взять за объекты и какие там определить события?



Цитата(chipset @ 20.2.2006, 03:23 Найти цитируемый пост)
С другой стороны, в ООП прорисовываться некоторая аналогия с западным капиталистическим обществом. Индивидуальность, семья, приватные вещи очень сильно ценяться.

Эх, видимо я в програмировании еще полный "гопник" и не осознаю вечных ценностей... smile
PM MAIL   Вверх
Exception
Дата 20.2.2006, 23:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Ценность и простота ООП становится видна не при создании программы, а при ее расширении. Пример про "Жизнь"? Допустим, есть у нас класс GameField. В нем хранится двухмерный массив (поле для игры) и у него есть открытый метод ProcessTick, в котором содержатся операции для обновления поля (рождение, смерть, ..). Еще у нас есть интерфейс IGUI, содержащий метод Paint(GameField). Из ProcessTick вызывается этот метод. Конкретный GUI реализует IGUI. Т.о. в любой момент мы можем менять GUI, не трогая логику.
PM   Вверх
Medved
Дата 20.2.2006, 23:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



В двух словах этого не объяснить. Осознать принципы ООП - вполне реальная задача.

Лучше всего для этого подойдет книга Гради Буча - Объектно-ориентированный анализ и проектирование.


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


Новичок



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

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



Все понятно, пошел учить С++ smile
PM MAIL   Вверх
boevik
Дата 22.2.2006, 09:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Vendigo, можно и в Паскале писать по методологии ООП, мочно и на C++ писать проседуральные программы.
Все дело в походе и какие ограничения накладывает язык.

Рамотри свою программу с точки зрения объектов.
К примеру, объект колония. Какие характеристики (properties) она имеет. Какую функциональность (method) выполняет.
Рассмотри класс который управляет жизнью. С какими объектами он взаимодействует.
Есть ли вариации для колоний, которые имеют общие характеристики и поведение (наследственность).
Таким образом, ты поймешь как написать программу в ООП.


--------------------
Никогда не говори никогда
PM MAIL WWW   Вверх
Vendigo
Дата 22.2.2006, 20:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



2 boevik, да я знаю что есть Object Pascal и Delphi. Я имел ввиду, что мне, видимо, не хватает знаний и опыта для того чтобы оценить ООП. А посему нужно просто двигаться вперед, не пытаясь заглядывать за горизонт smile

Имохо, программировать "Жизнь" ООП способом, это сродни использованию танка в роли городского транспорта. И накладно, и неудобно, только шишек набьешь да дороги попортишь.

"К примеру, объект колония" Какие характеристики она имеет?
1. Расположение клеток (основная и исчерпывающая характеристика колонии)
2. Возраст (можно подсчитывать, сколько поколений прошло от изначальной конфигурации)
3. "Зацикленность" (можно запоминать последние поколений 20, и если конфигурация в текущем поколении совпала с каким-нибудь предшествующем, то колония зациклилась)

Методы:
1. Просчитать следующее поколение
2. Записать в файл
3. Считать из файла
4. Нарисовать
5. Создать случайную колонию

В целом, если убрать шелуху, то объект колония имеет одну характеристику - расположение клеток. И три метода - создать колонию, нарисовать колонию и просчитать следующее поколение.

Наследственность и взаимодействие с другими объектами, по-моему, здесь трудно реализовать.
Мой вывод: программа слишком проста для ООП. Проще ходить пешком smile

PM MAIL   Вверх
boevik
Дата 23.2.2006, 08:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



А где проходит граница между процедуральным и ООП програмированием?
Какими критериями оперировать для приема решения ООП или процедуры?

Для учебной цели сделать игру "Жизнь" в ООП полне подходящая задача.
Никто не начинает писать программы с сотни-десятков классов.
Так, что начинай с простеньких программ.



--------------------
Никогда не говори никогда
PM MAIL WWW   Вверх
Exception
Дата 4.3.2006, 17:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Vendigo, правильно smile
Как я уже говорил,
Цитата(Exception @ 21.2.2006, 00:11 Найти цитируемый пост)
Ценность и простота ООП становится видна не при создании программы, а при ее расширении.

. То есть как только ты захочешь изменить GUI программы, её правила и т.п., тебе это будет сделать куда проще, чем без ООП.
PM   Вверх
Medved
Дата 4.3.2006, 19:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Изящество ООП проявляется во всем. И при разработке и при перепроектировании.

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


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


Эксперт
****


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

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



Я имею в виду наиболее наглядно видно smile . А вообще, согласен. Сам когда-то не понимал плюсов ООП..
PM   Вверх
Vendigo
Дата 6.3.2006, 21:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Ну чтож, я рад что ООП такая полезная вещь. Как только появится время, и вера в свои силы, засяду за новую версию "Жизни". Надеюсь, вы поможете мне в ее проектировании.

Это сообщение отредактировал(а) Vendigo - 6.3.2006, 21:07
PM MAIL   Вверх
Exception
Дата 6.3.2006, 22:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Лучше напиши Шахматы smile . Это интереснее и нагляднее продемонстрирует мощь ООП.
PM   Вверх
ZeusAtVingrad
Дата 24.4.2006, 22:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Интересно, что полиморфизм как-то не упоминается.
А между тем это одна из самых мощных и красивых парадигм ООП.
У Страуструпа что-ли читал:
Ваша программа не может называться объектно-ориентированной только потому что у вас в тексте есть ключевое слово class. Настоящая объектно-ориентированная программа использует полиморфизм. 
PM MAIL   Вверх
Страницы: (3) Все 1 2 [3] 
Ответ в темуСоздание новой темы Создание опроса
Правила раздела "Философия программирования":
Се ля ви

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

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

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


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

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


 




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


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

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