Форум программистов, компьютерный форум, киберфорум
ООП и паттерны
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
Результаты опроса: используете ли вы ооп
да 238 86.55%
нет 37 13.45%
Голосовавшие: 275. Вы ещё не голосовали в этом опросе

 
 
Рейтинг 4.76/461: Рейтинг темы: голосов - 461, средняя оценка - 4.76
81 / 39 / 3
Регистрация: 29.01.2010
Сообщений: 386

Стоит ли использовать ООП?

09.02.2010, 13:44. Показов 103563. Ответов 793
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте.
Возник такой вопрос: стоит ли использовать ооп. Даже не так, когда использовать ооп?
Иногда (даже чаще всего) легче написать простые функции, а не мутить с классами обектами и методами.
Раздражает инкапсуляция - какой вообще ее смысл? Чтобы получить переменную класса по правилам ооп нужно создавать метод для ее чтения? когда такой подход оправдан - ведь затрачивается куча лишнего времени.
5
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
09.02.2010, 13:44
Ответы с готовыми решениями:

Стоит ли использовать ООП -- часть вторая
У людей задающих подобные вопросы не все в порядке с пониманием ООП. Например, в параллельной теме человек интересуется: На самом...

Какие РЕАЛЬНО есть причины НЕ использовать ООП?
Появился такой вопрос. Все мы знаем о шумихе вокруг ООП, спорной идее наследования, других невнятных идей которых можно добиться...

Где стоит использовать bootstrap и стоит ли вообще использовать CSS фреймворки?
Здравствуйте. Лично я ужасаюсь ковырять стили, когда к сайту подключен bootstrap и мало понимаю, чем он хорош вообще. В данной теме я бы...

793
556 / 510 / 25
Регистрация: 23.07.2009
Сообщений: 2,359
Записей в блоге: 1
11.02.2010, 16:49
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от Genius Ignat Посмотреть сообщение
Может кто-нибудь подведет итог.
Стоит ли использовать ООП?

йес
0
81 / 39 / 3
Регистрация: 29.01.2010
Сообщений: 386
11.02.2010, 16:49  [ТС]
Цитата Сообщение от Genius Ignat Посмотреть сообщение
Люди легкого течения.
почему это???
0
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21285 / 8310 / 637
Регистрация: 30.03.2009
Сообщений: 22,670
Записей в блоге: 30
11.02.2010, 16:50
Цитата Сообщение от Genius Ignat Посмотреть сообщение
Одна есть фишка ООП, и она мне нравиться при передачи объекта в функцию им можно управлять через его методы.
Нифига не понял...

Цитата Сообщение от Black Fregat Посмотреть сообщение
В том-то и дело, что ООП, по сути, набор полезных фишек. Каждый выбирает, что нравится
Фишки - это свойство ЯЗЫКА, а не оп. Приведённый выше пример с перегрузкой операторов - это свойства именно языка Си++, но не свойство ООП

novichok, правильным примером было бы следующее. Есть класс "ресторан" и есть экземпляры класса "ресторан_1" и "ресторан_2". Эти экземпляры имеют одни и те же СВОЙСТВА (поля), но каждый экземпляр имеет свой НАБОР ЗНАЧЕНИЙ СВОЙСТВ (конкретные значения, записанные в полях). Человек в обоих ресторанах есть симметрично: "ресторан_1.кушать()" и "ресторан_2.кушать()". А вот результат, возаращаемый МЕТОДОМ КЛАССА "кушать" зависит от ЗНАЧЕНИЯ СВОЙСТ ЭКЗЕМПЛЯРА ("ресторан_1" или "ресторан_2").

Хотя пояснять на примере ресторанов - новичку это будет слишком непонятно. На более простых примерах типа "цветок" или "автомобиль" это понять проще
0
1261 / 799 / 108
Регистрация: 16.09.2009
Сообщений: 2,010
11.02.2010, 16:51
Люди легкого течения.
Ошибся наоборот.
0
Почетный модератор
 Аватар для Lord_Voodoo
8785 / 2538 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
11.02.2010, 16:51
Genius Ignat, ну я и не говорил, что все профи против ООП, я и сам его часто использую (это не про то, что я профи, а про то, что я не против его использования)
0
1261 / 799 / 108
Регистрация: 16.09.2009
Сообщений: 2,010
11.02.2010, 16:59
Для Evg:
Нифига не понял...
C++
1
2
3
4
5
6
7
8
class Obj {
public:
void f(){cout<<"f\n";}
};
 
some_func(Obj *p){
p->f();
}
Только для MFC это больший смысл.

Добавлено через 4 минуты
Obj
Назвал не логично.
0
556 / 510 / 25
Регистрация: 23.07.2009
Сообщений: 2,359
Записей в блоге: 1
11.02.2010, 17:00
Цитата Сообщение от Evg Посмотреть сообщение
Фишки - это свойство ЯЗЫКА, а не оп.
подтверждаю. пришлось как-то подвязаться писать тестовые программы для самопального (один дядя на крупной фирме разработал и внедрял. учебу проводил, руководил разработкой и расширением и т.д. и работаела эта штука!) "объектно-ориентированного си". а си, насколько я знаю, сам по себе не есть объектно-ориентированный. имеется также "объектно-ориентированный ассемблер". в принципе и в машинных кодах можно создавать программы объектно-ориентированно.

Цитата Сообщение от Evg Посмотреть сообщение
novichok, правильным примером было бы следующее. Есть класс "ресторан" и есть экземпляры класса "ресторан_1" и "ресторан_2". Эти экземпляры имеют одни и те же СВОЙСТВА (поля), но каждый экземпляр имеет свой НАБОР ЗНАЧЕНИЙ СВОЙСТВ (конкретные значения, записанные в полях). Человек в обоих ресторанах есть симметрично: "ресторан_1.кушать()" и "ресторан_2.кушать()". А вот результат, возаращаемый МЕТОДОМ КЛАССА "кушать" зависит от ЗНАЧЕНИЯ СВОЙСТ ЭКЗЕМПЛЯРА ("ресторан_1" или "ресторан_2").

Хотя пояснять на примере ресторанов - новичку это будет слишком непонятно. На более простых примерах типа "цветок" или "автомобиль" это понять проще
мне кажется, мы хотим проиллюстрировать разные вещи - я ограничиваюсь инкапсуляцией, а ты идешь дальше в ооп.
0
1261 / 799 / 108
Регистрация: 16.09.2009
Сообщений: 2,010
11.02.2010, 17:10
Genius Ignat:
Философское из личного опыта:
Язык C++ бесконечен...
0
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21285 / 8310 / 637
Регистрация: 30.03.2009
Сообщений: 22,670
Записей в блоге: 30
11.02.2010, 17:11
Genius Ignat, а фишка там в каком месте?

Цитата Сообщение от novi4ok Посмотреть сообщение
мне кажется, мы хотим проиллюстрировать разные вещи - я ограничиваюсь инкапсуляцией, а ты идешь дальше в ооп
Я именно и пытаюсь показать, что такое инкапсуляция. Когда свойства, которые внешнему миру не нужны или не важны, запрятаны внутри класса. Когда ты делаешь один экземпляр ресторана, то эти свойства можно выразитьна Си через глобальные переменные (поскольку ресторан всего один). А когда экземпляров несколько, тот тут придётся либо дублировать каждое свойство, либо свойства, касающиеся одного экземпляра объединить в одну большую вещь, которая будет названа "классом". Просто ещё раз хочется подчеркнуть, что для пояснения любой вещи, относящейся к ООП нужно иметь как минимум два экземпляра одного класса, причём эти экземпляры должны иметь разные значения одного и того же свойства. В противном случае все эти примеры оказываются бесполезными (для новичков)
0
81 / 39 / 3
Регистрация: 29.01.2010
Сообщений: 386
11.02.2010, 17:12  [ТС]
Цитата Сообщение от Genius Ignat Посмотреть сообщение
Язык C++ бесконечен...
к сожалению нет...
0
1261 / 799 / 108
Регистрация: 16.09.2009
Сообщений: 2,010
11.02.2010, 17:15
Одна есть фишка ООП, и она мне нравиться при передачи объекта в функцию им можно управлять через его методы.
Эта фишка позволила в моем приложении сделать клиентскую сторону графического
интерфейса проще.

Добавлено через 1 минуту
@KOT@
Если бы он был прост ты бы не задавал вопросов.
0
Фрилансер
 Аватар для Black Fregat
3709 / 2083 / 567
Регистрация: 31.05.2009
Сообщений: 6,683
11.02.2010, 17:18
Цитата Сообщение от Evg Посмотреть сообщение
Фишки - это свойство ЯЗЫКА, а не оп.
Определение фишки - в студию!
На мой взгляд, фишки бывают разные.. Но это уже спор о словах.
0
1261 / 799 / 108
Регистрация: 16.09.2009
Сообщений: 2,010
11.02.2010, 17:20
Наверное лучше не обсуждать как взаимодействуют объекты.

Добавлено через 1 минуту
А ООП это фишка?
0
81 / 39 / 3
Регистрация: 29.01.2010
Сообщений: 386
11.02.2010, 17:26  [ТС]
Цитата Сообщение от Black Fregat Посмотреть сообщение
Определение фишки - в студию!
На мой взгляд, фишки бывают разные.. Но это уже спор о словах.
фишка -
1) это заковыринка
2) что-то тайное, но занимательное и интересное,
3) что-то, чего нет у других
4) прикол, смысл, следствие,
и тп и тд

Добавлено через 58 секунд
Цитата Сообщение от Genius Ignat Посмотреть сообщение
А ООП это фишка?
нет это не фишка - почему смотреть выше!
0
1261 / 799 / 108
Регистрация: 16.09.2009
Сообщений: 2,010
11.02.2010, 17:31
Сообщение от Genius Ignat
Язык C++ бесконечен...
к сожалению нет...
@KOT@
Ты наверное не знаешь законов информатики.
0
81 / 39 / 3
Регистрация: 29.01.2010
Сообщений: 386
11.02.2010, 17:36  [ТС]
Цитата Сообщение от Genius Ignat Посмотреть сообщение
@KOT@
Ты наверное не знаешь законов информатики.
Смотря что вкладывать в понятие бесконечность, и в то выражение.
0
1261 / 799 / 108
Регистрация: 16.09.2009
Сообщений: 2,010
11.02.2010, 17:43
@KOT@:
Я подозреваю что тема создавалась для следующего:
С++ ни как весь в голове не удержишь со всей его гибкостью.
И поэтому вопрос стоит ли ООП использовать или нет.
Человек любитель легкого течения.
Надеюсь я не прав.
Вот если я не буду использовать все возможности языка C++.
А буду использовать только процедурное программирование, тогда я стану волосатый профи в C.
0
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21285 / 8310 / 637
Регистрация: 30.03.2009
Сообщений: 22,670
Записей в блоге: 30
11.02.2010, 17:49
Цитата Сообщение от Genius Ignat Посмотреть сообщение
Эта фишка позволила в моем приложении сделать клиентскую сторону графического
интерфейса проще.
Так в чём фишка-то выражается? То, что объект можно передавать по указателю? Так в Си и СИ++ всё что хошь можно передавать по указателю. Или что у тебя там такого необычного?

Цитата Сообщение от Genius Ignat Посмотреть сообщение
С++ ни как весь в голове не удержишь со всей его гибкостью.
Язык удержишь. Как и любой другой язык.
0
556 / 510 / 25
Регистрация: 23.07.2009
Сообщений: 2,359
Записей в блоге: 1
11.02.2010, 17:55
Цитата Сообщение от Evg Посмотреть сообщение
Я именно и пытаюсь показать, что такое инкапсуляция. Когда свойства, которые внешнему миру не нужны или не важны, запрятаны внутри класса.
я думаю я понимаю. ты пытаешься показать что такое инкапсуляция в контексте классического ооп.

вообще рассуждения об абстрактных понятиях - сложная вещь. подобная вере в бога: каждый верит (или не верит), каждый понимает о чем речь, но каждый имеет при этом ввиду что-то другое
1
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21285 / 8310 / 637
Регистрация: 30.03.2009
Сообщений: 22,670
Записей в блоге: 30
11.02.2010, 18:04
Цитата Сообщение от novi4ok Посмотреть сообщение
я думаю я понимаю. ты пытаешься показать что такое инкапсуляция в контексте классического ооп.
Нет Я пытаюсь продемонстрировать, на каких именно примерах нужно пояснять это начинающим.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
11.02.2010, 18:04

Стоит ли учить ООП в одно время с Яп
Добрый день! Начал активно изучать c#. Читаю Шилдта в свободное от учебы время и стараюсь практиковаться и всё выходит пока нормально. Но...

Как использовать ООП в WinAvr
Класс я создал. А вот объект класса создать не получается! Полазив по интернету выяснил что оператор new не поддерживается компилятором! ...

Js class как правильно использовать ООП
Накидал вот такой простенький код, авторизация проходит, data.Access_token существует, но в this.Access_token почему то не сохраняется, не...

Когда следует использовать ООП в РНР?
Когда стоит учить ооп в РНР, если новичок в РНР? Стоит ли писать весь код в стиле ооп ?

WITH AS стоит ли использовать
Использую СУБД Postgresql, есть запрос SELECT * FROM Table1 WHERE Filed1 IN (SELECT Fileld1 FROM Table2 WHERE Fileld2='A' AND...


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

Или воспользуйтесь поиском по форуму:
120
Ответ Создать тему
Новые блоги и статьи
Часы электронные
Uhbif79 12.08.2026
Выкладываю программу часов. Программа позволяет: 1. Использовать системное время и дату, 2. Есть возможность вводить время и дату вручную. 3. Реализованы 2 будильника: начало и конец рабочего дня. . . .
Часы с будильником на основе класса QLCDNumber
Uhbif79 12.08.2026
Всем добрый день, выкладываю программу часов с будильником на основе класса QLCDNumber. Здесь я пробовал самостоятельно создавал классы, впервые столкнулся с видимостью переменной одного класса из. . .
Установка MinGW GCC 16.2 и CMake
8Observer8 10.08.2026
VK Видео: https:/ / vkvideo. ru/ video-240781534_456239017 YouTube: eY5-5PyI9NM Текстовая версия
Неделя из жизни имитационной модели склада: мои кривые руки растут, откуда надо
anaschu 10.08.2026
Неделя из жизни имитационной модели склада: как я почти написал неправильную логику и что с этим делать Работаю сейчас над учебно-рабочим проектом: строю в AnyLogic имитационную модель процессов. . .
Калькулятор для расчета родства
russiannick 07.08.2026
1. Задача: Создать калькулятор для расчета родства. Родственных связей существует 8 ступеней, такие как: p - отец P - мать q - муж Q - жена b - брат B - сестра s - сын S - дочь
Мир по моей воле
kumehtar 07.08.2026
Когда-то кажется, что всё просто. Ты весь такой светлый. Причиняешь добро. Борешься за справедливость в этом тёмном мире. Потом начинаешь замечать одну неприятную вещь. Почти каждый хороший. . .
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С. Задача: Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
У нас сейчас поговорку "Опять 25" нужно переделать на "Опять +35".
kumehtar 04.08.2026
С ностальгией вспоминаю времена моего детства, когда у нас и правда +25 - была максимальная температура летом. Раньше +25 °C реально казались вершиной жары, когда можно было весь день пропадать на. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru