Почему ООП не ООП? Мне стало интересно, что такое ООП. В университете мне сказали, что это про инкапсуляцию, полиморфизм и наследование. А по радио и телеку говорят, что это совсем другое, что нельзя создавать статические методы, нельзя делать синглтоны и вообще, что ООП (о, Боже) это не про наследование. А тот, кто придумал этот термин вообще сказал, что си++ это не ОО-язык. Возникают вопросы. Есть ли ООП сейчас в том виде, в котором задумывал его Алан Кэй? Нужно ли то ООП, которое задумывал он? Реализовано ли где-то "труъ" ООП? Чем плохо ООП сейчас? Почему си++ не ОО? Можете посоветовать источники по этому вопросу, книги, видео, что угодно. В какую сторону копать? И ещё. Для чего оно надо? Какие проблемы у меня возникают при неиспользовании ООП? Какие оно решает?
Вопрос о том, что такое "настоящее" ООП, действительно вызывает много споров среди специалистов. Однако, важно заметить, что концепции инкапсуляции, полиморфизма и наследования являются основными принципами объектно-ориентированного программирования, их реализация может отличаться в различных языках программирования.
Что касается статических методов и синглтонов, то они действительно могут нарушать некоторые принципы ООП, такие как отсутствие глобальных переменных и минимизация использования статических элементов. Однако, это не означает, что использование этих концепций делает программу "нет ООП".
Си++ является объектно-ориентированным языком программирования, однако, некоторые разработчики могут считать его не чистым ОО-языком из-за возможности работы с памятью напрямую и других особенностей.
Для изучения концепций ООП и их реализации в различных языках программирования, рекомендуется обратиться к книгам "Объектно-ориентированное программирование. Принципы и практика с примерами на C++" Роберт ЛаФорт, "Язык программирования C++, издание четвертое" Бьерн Страуструп и другим источникам.
ООП позволяет упростить разработку и поддержку программного обеспечения, облегчает работу с большими проектами, а также повышает его надежность и расширяемость. Благодаря принципам ООП, разработчики могут легче структурировать код, повторно использовать компоненты и улучшить его качество.
Вопрос о том, что такое "настоящее" ООП, действительно вызывает много споров среди специалистов. Однако, важно заметить, что концепции инкапсуляции, полиморфизма и наследования являются основными принципами объектно-ориентированного программирования, их реализация может отличаться в различных языках программирования.
Что касается статических методов и синглтонов, то они действительно могут нарушать некоторые принципы ООП, такие как отсутствие глобальных переменных и минимизация использования статических элементов. Однако, это не означает, что использование этих концепций делает программу "нет ООП".
Си++ является объектно-ориентированным языком программирования, однако, некоторые разработчики могут считать его не чистым ОО-языком из-за возможности работы с памятью напрямую и других особенностей.
Для изучения концепций ООП и их реализации в различных языках программирования, рекомендуется обратиться к книгам "Объектно-ориентированное программирование. Принципы и практика с примерами на C++" Роберт ЛаФорт, "Язык программирования C++, издание четвертое" Бьерн Страуструп и другим источникам.
ООП позволяет упростить разработку и поддержку программного обеспечения, облегчает работу с большими проектами, а также повышает его надежность и расширяемость. Благодаря принципам ООП, разработчики могут легче структурировать код, повторно использовать компоненты и улучшить его качество.