Рейтинг:
24
OriginalGriff
Почему? Потому что если вы придерживаетесь правил, это делает сложный код проще в разработке, более надежным, более ремонтопригодным и вообще лучше.
Поскольку ООП настаивает на том, чтобы вы думали о том, что вы предоставляете внешнему миру, она позволяет вам изменять реализацию объекта, не затрагивая какой-либо другой код. (Инкапсуляция)
Потому что он позволяет вам иметь много разных функций, все с одинаковыми именами, все делают одну и ту же работу, но на разных данных. (Полиморфизм)
Потому что он позволяет вам писать универсальный код, который будет работать с целым рядом данных, так что вам не придется писать базовые вещи снова и снова. (Дженерик)
Потому что он позволяет вам написать набор функций, а затем развернуть их в другом направлении, не изменяя и не копируя их каким-либо образом. (Наследование)
Есть и другие причины, но они довольно хороши!
Mehdi Gholam
Всеобъемлющий, 5 ЕД
Member 11228773
очень хорошо объяснил.. 5*
Рейтинг:
2
elgaabeb
Зачем использовать ООП ?
Давайте взглянем на то, что до появления концепций ООП существовало "процедурное" программирование, которое состояло в проектировании программного обеспечения как набора функций и процедур, которые Верри сварил.Таким образом, программное обеспечение быстро становится сложным, трудным для понимания и поддержания.
ООП ввела новые концепции для проектирования программного обеспечения : концепция объекта реального мира.
Эта концепция придет к созданию программного обеспечения в виде отдельных модулей кода, которые поднимут развязку и увеличат повторное использование кода.
Общее использование развязки в ООП заключается в полиморфном разделении инкапсуляции.
Для повторяемости он вводится понятиями наследования и дженериков.
См. Решение 1, чтобы получить краткое определение полиморфизма, дженериков, наследования и инкапсуляции.
Надеюсь, это поможет.
Emilio Garavaglia
Объектная концепция ООП-это не "реальный мир". Просто (в смысле одной из) его моделей. Концепция "разделенного модуля" не требует необходимого ООП, и повторное использование не является прямым следствием ООП (плохо спроектированный беспорядок запутанных объектов практически не используется повторно)
Универсальное программирование-это не ООП. Он может быть использован в ООП, но имеет свое собственное определение и не обязательно относится к объектам.
Большинство из этих аргументов относится скорее к мифологии ООП, чем к технологии.
elgaabeb
Очень интересная точка зрения с вашей стороны, но не совсем обычная.
Только один вопрос: Вы когда-нибудь использовали процедурный язык программирования???
Я упомянул "реальный мир" в соответствии с источником вдохновения этой концепции программирования.
Мы никогда не могли бы взять плохой пример в качестве эталона, вы только что сказали, что это плохой дизайн !
Я никогда не говорил, что generic-это ООП, Generic-это литеральное слово, которое вы могли бы сослаться на adictionnary, чтобы увидеть его значение.
ООП-это концепция программирования, которая увеличивает повторяемость, когда объекты могут быть использованы повторно.
ООП мифлогия ?? очень интересно! очень романтично!
Emilio Garavaglia
"вы когда-нибудь использовали процедурный язык программирования???"? Да: C и FORTRAN, как я использовал LISP (функциональный), как я использовал COBOL, Smalltalk, C++, D и т. д.
И я запрограммировал "объекты" (в реальном смысле ООП) на простом языке Си, с правильным использованием разделения компиляции и непрозрачных типов.
Есть языки, которые фундаментально агностичны к технике программирования (C, C++ и D попадают в эту категорию), для которых их стандартная библиотека выдвигает философию (iostream-это ООП, контейнеры-универсальны)...)
Существуют языки (например, C# или Java), которые создаются вокруг хорошо определенной техники программирования (в данном случае ООП, функци-нал для LISP и т. д.), для которых каждая проблема, которую вы хотите решить, должна быть решена с помощью этой единственной техники (даже если она вообще не эффективна). Как следствие, маркетинг был вынужден настаивать на том, что убедительно упирается в предполагаемое "превосходство", которое - на самом деле-не является внутренним, как они хотят, чтобы это выглядело.
elgaabeb
Такс за ваш ответ. Я думаю, мы могли бы обсудить то, что вы указали на форуме.
Рейтинг:
0
Emilio Garavaglia
Плохой вопрос, так как он риторический и содержит ответ.
Он хочет запугать вас, немедленно ограничив ваше мышление:
ПОЧЕМУ-МЫ-ИСПОЛЬЗУЕМ.
Просто невежливо, глупо и нелепо.
Правильный вопрос должен был быть КОГДА (не почему), или Почему и почему нет.
Чего здесь ожидает интервьюер?
Кто-то бросает фейерверк, освещающий всю ночь науки программирования, объясняя красоту ООП и почему во всем мире не должно быть ничего другого?!?
Знают ли они, что c++ STL не является (повторяю: не является) ООП ?
Знают ли они, что в лямбде почти нет ООП?
Знают ли они, что ООП-это просто техника, а не религия?
Невероятно, как много глупости участвует в отборе людей.
Что они ищут? Кто-то молча повинуется своему Богу, или кто-то, способный мыслить?