ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > С/С++, C#, Delphi, .NET, Asm
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

ООП help
  #1  
Старый 01.11.2009, 14:32
ToniKapuchon
Участник форума
Регистрация: 26.02.2006
Сообщений: 209
Провел на форуме:
2418438

Репутация: 93
По умолчанию ООП help

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

Область:
Цитата:
Система Конструкторское бюро. Заказчик представляет Техническое Задание (ТЗ), в котором перечислен перечень Работ с указанием квалификации и количества требуемых специалистов. Администратор рассматривает ТЗ и оформляет Проект, назначая на него незанятых Работников требуемой квалификации, после чего рассчитывается стоимость Проекта и Заказчику выставляется Счет из расчета заработной платы назначенных специалистов. Администратор должен иметь возможность просмотреть список неоплаченных Счетов.
 
Ответить с цитированием

  #2  
Старый 01.11.2009, 21:28
Ra$cal
Постоянный
Регистрация: 16.08.2006
Сообщений: 640
Провел на форуме:
1354067

Репутация: 599


По умолчанию

самый простой вариант - выпиши существительные из этого описания. это - претенденты на звание классов. дальше продумай кто отвечает за создание объектов классов. Например Администратор оформляет проект, значит он создает объекты этого класса. Это очень важный шаг. И готовых решений тут нету, ибо вариантов много. Но советую глянуть книгу Лармана "Применение UML 2.0 и шаблонов проектирования". Там как раз есть шаблоны, описывающие, как разделить ответственности создания и управления классами, что такое высокое зацепление, низкая связанность, как они влияют на проект. Если прочитаешь это(а это не так много страниц), то как минимум сделаешь достаточно грамотную архитектуру.
 
Ответить с цитированием

  #3  
Старый 02.11.2009, 11:49
Algol
Регистрация: 29.05.2002
Сообщений: 1,793
Провел на форуме:
2050916

Репутация: 0


По умолчанию

Цитата:
Сообщение от ToniKapuchon  
Проблема такая...
Хе-хе, так это одна из самых сложных задач. Этими задачами занимаются отдельные люди - архитекторы, постановщики задачи и т.п. Собственно это не задача рядового программиста, и в курсе ООП обычно эта тема не освещается.
Касаемо собственно проблемы - почитай класика - Буча (вот тапример здесь http://www.helloworld.ru/texts/comp/other/oop/ch02.htm). Если более глубоко копать не нужно, этого хватит. А если копать более глубоко, то подход Буча многими критикуется, и вообще говоря, по Бучу реальные программы обычно не пишутся, но как для теории - сойдет.

Последний раз редактировалось Algol; 02.11.2009 в 11:53..
 
Ответить с цитированием

  #4  
Старый 02.11.2009, 12:18
cyanoвый
Banned
Регистрация: 29.10.2009
Сообщений: 10
Провел на форуме:
49015

Репутация: 6
По умолчанию

почитай С. Макконнелла "Совершенный Код", там достаточно много про это написано.

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

Цитата:
Сообщение от Algol  
Хе-хе, так это одна из самых сложных задач. Этими задачами занимаются отдельные люди - архитекторы, постановщики задачи и т.п. Собственно это не задача рядового программиста, и в курсе ООП обычно эта тема не освещается.
не всегда из самых сложных, но из самых важных - точно.

Последний раз редактировалось cyanoвый; 02.11.2009 в 12:21..
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Студентам с лабораторными сюда _Great_ С/С++, C#, Delphi, .NET, Asm 2868 16.06.2010 20:23
Начинаем программировать на C++, C#, ассемблере(win), Qt, Python, Java, AS3. nerezus С/С++, C#, Delphi, .NET, Asm 688 10.06.2010 15:08
C++ и ООП фича для чуть более продвинутых новичков Ra$cal С/С++, C#, Delphi, .NET, Asm 4 18.10.2009 01:00
Самый быстрый фреймворк.... MafiaBoy3 PHP, PERL, MySQL, JavaScript 29 14.12.2008 11:52



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ