|
38 / 24 / 4
Регистрация: 21.02.2009
Сообщений: 249
|
|
Что такое ООП?Зачем?Почему?Где?10.07.2009, 08:56. Показов 4099. Ответов 8
Метки нет (Все метки)
Ув. программисты,я немало наслышан о важности знания ООП.О том что с ним легче программировать и любой увожающий себя программист должен его знать.Сел дома читать книгу.первое что вижу это классы и структуры.Прочитал про то как оно инициализируется,посмотрел примеры.но вот не могу понять зачем оно надо?Если ту же программу вполне можно и без него написать.Обьясните мне глупому пожалуйста,зачем оно нужно где его используют и как?
0
|
|
| 10.07.2009, 08:56 | |
|
Ответы с готовыми решениями:
8
Тыкните пальцем что где нужно создать чтоб было такое как на картинке Что такое компилятор, и где его взять?
|
|
2348 / 1721 / 149
Регистрация: 06.03.2009
Сообщений: 3,675
|
|
| 10.07.2009, 09:13 | |
|
Дело в том, что ты читал книгу по языку (его возможностям для программирования в объектно ориентированном стиле), а не по ООП, поэтому тебе сложно сейчас оценить все преимущества ООП. На эту тему можно очень долго и много говорить, советую обратиться к соответствующей литературе, например, Г. Буч Объектно-ориентированный анализ и проектирование. Это одна из лучших книг по данной теме. Думаю после прочтения, таких вопросов больше не возникнет.
Главное сразу не бросаться писать все программы в данном стиле. Нужно понимать, где будет выгода от объектного кода, а где нет.
1
|
|
|
13 / 13 / 2
Регистрация: 06.01.2009
Сообщений: 70
|
|
| 13.07.2009, 01:43 | |
|
ООП очень хорошая вещь. Может быть когда ты пишешь небольшие приложения, где мало данных, то тебе и не видится выгода объединения в объекты, ты думаешь насоздаёшь массивов и будет тебе счастье...
структуры(struct) и классы(class) внешне почти одно и тоже, но принято в структуры пихать числовые объединения и в дальнейшем можно так же создавать массивы или организовывать динамическое хранение твоих данных(лично я для этого главным образом их использую). С классами же все сложней, помимо того что и в структурах, в них еще могут пихать процедуры, наследовать, и в результате программист деградирует до уровня пользователя, оперирующего с новыми функциями как: Man[i]->move(50); Man[i]->smile_size=10; Man[i]->smile(); которые например передвигают одного из жителя планеты на 50 метров и заставляют широко улыбнуться. ![]() Главным образом это нужно для автоматизации и облегчения программирования, тк для вас стает вопрос не "что бы написать", а "что объект должен сделать". (ЗЫ: пример объектно ориентированных игр ДЛЯ программистов seebot или colobot, в которых за вас создали объекты роботов, а вы на Си кодите, заставляя их что либо сделать)
1
|
|
|
1513 / 780 / 103
Регистрация: 22.04.2008
Сообщений: 1,610
|
|
| 13.07.2009, 11:57 | |
|
KoFeMaH - просто Вы наверное не сталкивались с такими задачами где структурный подход очень сильно увеличивает сложность,объем и отладку кода. С опытом и практикой Вы поймете что при таких задачах надо использовать ООП подход, так что понимание важности ООП приходит с практикой. Это я Вам из личного опыта говорю.
Что бы понять сущнось ООП надо разрабатывать программы в этом стиле, можете хоть сто книг по ООП прочитать если нет практики на реальных примерах, то понять возможности которые дает ООП я думаю не возможно!
2
|
|
|
591 / 357 / 16
Регистрация: 06.02.2009
Сообщений: 1,386
|
|
| 13.07.2009, 12:05 | |
|
Я сам когда учился программировать недооценивал важность ООП. Пока программа не достигает 800-1000 строчек её довольно легко (относительно) читать, отлаживать и понимать. Как только программа превышает несколько тысяч строчек, начинаются проблемы. Но даже это не самое важное. А самое важное, это утилизация кода. Да, можно написать тысячи функций, собрать их в библиотеку и пользоваться, но это значит при создании приложения помнить имена все функций(или бегать смотреть). Более того, некоторые функции связаны по смыслу. Одна функция вызывает другую и т.д. Все функции используют данные, причем не только те, которые ей передаются, но и другие. Отсюда следуют, что возможно придется создавать глобальные переменные, а это не есть хорошо. В общем классы здесь как нельзя лучше подходят.
1
|
|
|
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
|
|
| 13.07.2009, 12:41 | |
|
KoFeMaH, вот тема в билдере. А теперь обрати внимание, что форма - это объект класса, кнопка - тоже объект класса. И все эти объекты обладаются рядом свойств и возможностей. Так вот, эти свойства и воможности упакованы в классы. Так удобнее. Хотя, ты прав. Все, что написано с использованием ООП можно написать и без него. Но там, где это, действительно, удобнее, почему нет?
1
|
|
|
|
|
| 13.07.2009, 12:53 | |
|
В общем +1 к практически всему написанному выше. От себя могу добавить, что для начала просто научись программировать без всяких ООП, ибо на начальном этапе оно тебе не нужно.
Кто-то может возразить и сказать, что надо изначально приучаться писАть в объектах. Что ж, может быть оно и так, но по опыту общения с некоторыми коллегами и студентами у меня создаётся ощущение, что те, кто изначально пытаются программировать объектно-ориентированно, начинают ООП подход засовывать в каждую дарку, даже там,где это скорее вредит, чем помогает. Моё мнение таково, что сначало надо осваивать простые вещи, а потом сложные. Только в таком случае будет чёткое понимание, что там где надо - надо писать просто (всмысле без ООП), а там где надо - посложнее (с ООП)
1
|
|
|
38 / 24 / 4
Регистрация: 21.02.2009
Сообщений: 249
|
|
| 14.07.2009, 22:05 [ТС] | |
|
Всем спасибо=)Так сказать разложили по полочкам зачем оно надо.сделаю как было выше сказано.сначала хорошо разберусь с основами а ооп по чуть чуть буду пока.потом углублюсь=)Всем огромное спасибо за разьяснение
0
|
|
| 14.07.2009, 22:05 | |
|
Помогаю со студенческими работами здесь
9
Почему солнце круглое, а небо зеленое. Почему ооп такое странное? Что такое IIS и что такое PWS? Почему одно без другого не работает? сегодня наконец то понял что такое КЛАСС, и ОБЪЕКТ. понято всё, кроме одного - зачем всё это? в смысле, можно же без этого? так зачем жизнь усложнять? Что такое dy1 и dy2 в программе, и зачем мы их перемножаем. Что означает строчка x=x1 Crontab- что такое, зачем он? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
|
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2.
Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
|
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
|
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
|
|
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2.
Данный документ берёт данные из другого нетипового документа. . .
|
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
|
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача: реализовать программный контроль на предмет проведения документа. . .
|
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача:
1. Реализовать контроль заполнения реквизита. . .
|