Другие языки программирования и технологии

что такое объектно-ориентированное программирование?

Андрей
Андрей
139
Если ты уже знакома с типом "структура" в С, то понять будет легко. Структура - это объединение нескольких переменных под общим именем, к отдельным переменным в ней можно попасть через имя структуры или указатель на нее, уточненные именем переменной внутри структуры. В С в структурах можно было использовать только данные, это набор данных разных типов, объединенных общим именем, например, сведений о человеке, с этим набором можно было работать как с единым целым.
В ООП в структуры, кроме данных, можно включать и функции обработки этих данных. Такие типы данных называются классами, а переменные или константы таких типов - объектами. Объекты могут вызывать функции друг друга. Программа превращается во взаимодействие объектов.
Кроме того, предусмотрены легкое расширение состава класса новыми данными и функциями (наследование) и изоляция данных и функций, даже с одинаковыми именами, одного класса от другого (инкапсуляция), и использование функций с одним и тем же именем для разных типов данных, функция по типам аргументов определяет, что именно с этими аргументами делать и что и как вычислять (полиморфизм).
Ну и еще в C++ есть возможность доопределения операций (всякие +, -* и прочие) для классов, когда, они при применении к типам классов могут делать любые операции. какие знакам операций назначит программист, и шаблоны, когда можно при описании класса задать абстрактный тип данных, скажем, назвать его Т, а что это за тип, при написании класса неизвестно, но для создания практически используемого класса написать, что тип, скажем Т в конкретном классе будет означать int, а в другом - double. Есть также так называемые дельта-функции без имени и т. д. Но это уже не ООП, а просто возможности C++, отсутствующие в С, многие другие языки с ООП этих возможностей не имеют.
Добавлю еще, что в С++ включены стандартные библиотеки с множеством самых разнообразных классов, например, реализующих стеки, списки, векторы, ассоциативные массивы и очень многое еще.
ST
Syrym Turmanov
60 944
Лучший ответ
Упс!

Объе́ктно-ориенти́рованное программи́рование — методология программирования, основанная на представлении программы в виде совокупности объектов, каждый из которых является экземпляром определённого класса, а классы образуют иерархию наследования.
Олег Ерошин
Олег Ерошин
86 134
Объектно-ориентированное программирование (ООП) - это важная парадигма. Создание объектов с помощью классов центрального понятия ООП. Класс описывает объект, но не зависит от него.
Семён Антонов
Семён Антонов
42 218
К примеру, создание несколько экземпляров одного класса, в котором может быть методы, свойства, события. Эти экземпляры называются объектами. Таким образом в ООП есть 3 особенности: полиморфизм, наследование и инкапсуляция
Может поможет серия видео роликов на тему SOLID https://www.youtube.com/playlist?list=PLIB8be7sunXP9ogxcq0cq87vpXG_GxJDp

Похожие вопросы