Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.53/19: Рейтинг темы: голосов - 19, средняя оценка - 4.53
 Аватар для KoFeMaH
38 / 24 / 4
Регистрация: 21.02.2009
Сообщений: 249

Что такое ООП?Зачем?Почему?Где?

10.07.2009, 08:56. Показов 4099. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Ув. программисты,я немало наслышан о важности знания ООП.О том что с ним легче программировать и любой увожающий себя программист должен его знать.Сел дома читать книгу.первое что вижу это классы и структуры.Прочитал про то как оно инициализируется,посмотрел примеры.но вот не могу понять зачем оно надо?Если ту же программу вполне можно и без него написать.Обьясните мне глупому пожалуйста,зачем оно нужно где его используют и как?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
10.07.2009, 08:56
Ответы с готовыми решениями:

Тыкните пальцем что где нужно создать чтоб было такое как на картинке
вот http://файлы и картинки загружайте на форум это таблица, что за таблица не знаю а как можно что-то создать если не знаешь что...

Что такое компилятор, и где его взять?
Здравствуйте дорогие форумчане! Вот начал изучать по самоучителям С++ и сталкнулся с таким термином, как компилятор. Я так понял он...

Тип void как возвращаемое значение функции: что он такое, зачем он нужен, где, когда и как его использовать?
Объясните пожалуйста про Void для оооочень далекого человека. Читаю книгу Шилдта, в принципе всё ясно, всё понимаю и пробую, но вот Void -...

8
Эксперт С++
 Аватар для CyBOSSeR
2348 / 1721 / 149
Регистрация: 06.03.2009
Сообщений: 3,675
10.07.2009, 09:13
Дело в том, что ты читал книгу по языку (его возможностям для программирования в объектно ориентированном стиле), а не по ООП, поэтому тебе сложно сейчас оценить все преимущества ООП. На эту тему можно очень долго и много говорить, советую обратиться к соответствующей литературе, например, Г. Буч Объектно-ориентированный анализ и проектирование. Это одна из лучших книг по данной теме. Думаю после прочтения, таких вопросов больше не возникнет.
Главное сразу не бросаться писать все программы в данном стиле. Нужно понимать, где будет выгода от объектного кода, а где нет.
1
 Аватар для Jnis
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
 Аватар для Sergei
1513 / 780 / 103
Регистрация: 22.04.2008
Сообщений: 1,610
13.07.2009, 11:57
KoFeMaH - просто Вы наверное не сталкивались с такими задачами где структурный подход очень сильно увеличивает сложность,объем и отладку кода. С опытом и практикой Вы поймете что при таких задачах надо использовать ООП подход, так что понимание важности ООП приходит с практикой. Это я Вам из личного опыта говорю.
Что бы понять сущнось ООП надо разрабатывать программы в этом стиле, можете хоть сто книг по ООП прочитать если нет практики на реальных примерах, то понять возможности которые дает ООП я думаю не возможно!
2
 Аватар для RazorQ
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
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21281 / 8305 / 637
Регистрация: 30.03.2009
Сообщений: 22,660
Записей в блоге: 30
13.07.2009, 12:53
В общем +1 к практически всему написанному выше. От себя могу добавить, что для начала просто научись программировать без всяких ООП, ибо на начальном этапе оно тебе не нужно.

Кто-то может возразить и сказать, что надо изначально приучаться писАть в объектах. Что ж, может быть оно и так, но по опыту общения с некоторыми коллегами и студентами у меня создаётся ощущение, что те, кто изначально пытаются программировать объектно-ориентированно, начинают ООП подход засовывать в каждую дарку, даже там,где это скорее вредит, чем помогает. Моё мнение таково, что сначало надо осваивать простые вещи, а потом сложные. Только в таком случае будет чёткое понимание, что там где надо - надо писать просто (всмысле без ООП), а там где надо - посложнее (с ООП)
1
 Аватар для oxotnik
1665 / 1134 / 80
Регистрация: 21.08.2008
Сообщений: 4,734
Записей в блоге: 1
13.07.2009, 12:56
ООП позволяет избежать дублирования кода, и соответственно улучшить его структурирование и читабельность (хотя некоторые так напишут, что пофиг ООП это или нет)
1
 Аватар для KoFeMaH
38 / 24 / 4
Регистрация: 21.02.2009
Сообщений: 249
14.07.2009, 22:05  [ТС]
Всем спасибо=)Так сказать разложили по полочкам зачем оно надо.сделаю как было выше сказано.сначала хорошо разберусь с основами а ооп по чуть чуть буду пока.потом углублюсь=)Всем огромное спасибо за разьяснение
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
14.07.2009, 22:05
Помогаю со студенческими работами здесь

Почему солнце круглое, а небо зеленое. Почему ооп такое странное?
Учил я пхп. Самоучитель PHP 5/6 и сайт метанит. И все было хорошо. Чтобы закрепить основы решил написать что-то такое: 1. Сохранить БД в...

Что такое IIS и что такое PWS? Почему одно без другого не работает?
вот уже второй день пытаюсь немного разобраться в АСП. накидал небольшую тестовую страничку. но с серверами я ничего не понимаю! что...

сегодня наконец то понял что такое КЛАСС, и ОБЪЕКТ. понято всё, кроме одного - зачем всё это? в смысле, можно же без этого? так зачем жизнь усложнять?
сегодня наконец то понял что такое КЛАСС, и ОБЪЕКТ. понято всё, кроме одного - зачем всё это? в смысле, можно же без этого? так зачем жизнь...

Что такое dy1 и dy2 в программе, и зачем мы их перемножаем. Что означает строчка x=x1
Что такое dy1 и dy2 . и зачем мы их перемножаем? и что значит строчка x=x1 clear all; close all; clc; disp('Определение кол-ва...

Crontab- что такое, зачем он?
Привет! Что такое Crontab? Зачем он? Что он? Как его использовать? Какие приложение с ним можно зделать? Какие возможности он даёт????


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Доступность команды формы по условию
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. Реализовать контроль заполнения реквизита. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru