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

Что такое ООП? Только не надо мне цитировать Вики. Ответье своими словами, как Вы это понимаете.

Сергей Бочаров
Сергей Бочаров
26 548
Если ты уже знаком с типом "структура" в С (в Pascal она называется "запись"), то понять будет легко. Структура - это объединение нескольких переменных под общим именем, к отдельным переменным в ней можно попасть через имя структуры или указатель на нее, уточненные именем переменной внутри структуры. В С в структурах можно было использовать только данные, это набор данных разных типов, объединенных общим именем, например, сведений о человеке, с этим набором можно было работать как с единым целым.
В ООП в структуры, кроме данных, можно включать и функции обработки этих данных. Такие типы данных называются классами, а переменные или константы таких типов - объектами. Объекты могут вызывать функции друг друга. Программа превращается во взаимодействие объектов.
Кроме того, предусмотрены легкое расширение состава класса новыми данными и функциями (наследование) и изоляция данных и функций, даже с одинаковыми именами, одного класса от другого (инкапсуляция), и использование функций с одним и тем же именем для разных типов данных, функция по типам аргументов определяет, что именно с этими аргументами делать и что и как вычислять (полиморфизм).
Добавлю еще, что в языки, поддерживающие ООП, например, С++, обычно включены стандартные библиотеки с множеством самых разнообразных классов, например, реализующих стеки, векторы, ассоциативные массивы, операции с комплексными числами и очень многое еще.
Евгений Манеркин
Евгений Манеркин
91 387
Лучший ответ
Вот тут человек своими словами постарался
Михаил Созонов
Михаил Созонов
59 325
Симула-подобное ООП (С++ / Java / C# / PHP и т. д.) - это способ упрощения разработки программных системы, заключающийся в сборке программ из строительных деталей - классов.

К сожалению, модным стал именно вариант ООП, основанный на классах - смешивающий в одну бесформенную кучу данные и обрабатывающий эти данные код.

Наиболее известным вариантом ООП без классов является прототипное наследование, реализованное в JavaScript. Но, к сожалению, стандартизаторы языка пошли на поводу у толпы плохо обученных кодеров и классы в стандарте JavaScript появились - в качестве совершенно бессмысленного синтаксического сахара, не привносящего в язык никаких новых возможностей (прототипы мощнее классов).

Существуют альтернативные варианты ООП (например, компонентный подход, предложенный в языке Oberon и позаимствованный создателями Go), которые логичнее и проще классов. Но т. к. языки, их поддерживающие, не занимаются погоней за модными рюшечками, то и популярность их значительно ниже.
Maxim Klimov
Maxim Klimov
90 369
ООП - это такой способ программирования, в основе которого лежит объект (в отличии от функционального программирования, в основе которого лежит действие).
Сергей Бочаров Чего? Какое ещё действие? Насколько я понял, объект - это некая структура из которых строится программа. Ну, и чем это отличается от структурного программирования, например?
это принцип

моими словами
Игорь Епатко
Игорь Епатко
30 074
Эмиль Н. Юсуфов Это туман, в твоей голове)
Сергей Бочаров ... зато често!
Способ группировки данных и методов их обработки в сущности.
МЧ
Миха Честный
22 517
Сергей Бочаров А по конкретнее. Данные и их обработка, они в Paint-е могут быть...
Объектно ориентирование программирование. Представление и организация структуры объекта как набор данных и набора действий над этими данными.

Т. е. любой объект можно представить как набор данных (атрибутов или элементы-данных) и набор действия над этими данными (элемент-функции), их организация и взаимодействие.
Гафар Sultanov
Гафар Sultanov
13 107
Объектно-ориентированное программирование (в дальнейшем ООП) — парадигма программирования, в которой основными концепциями являются понятия объектов и классов. Объект — это сущность, экземпляр класса, которой можно посылать сообщения, и которая может на них реагировать, используя свои данные
Миха Честный Это так помогает))
Сергей Бочаров Блин, написал же СВОИМИ СЛОВАМИ!!!
Ну как ещё...
Разделение сущностей.
типа есть корабли, если на пальцах: они имеют водоизмещение, массу, цвет и тип - это свойства его;
Все свойство можно задавать
Корабли умеют стрелять, плавать, тонуть - это его методы. Ими можно управлять задавая параметры.
Через интерфейсы можно строго регулировать набор методов их параметров (аргументов)
AA
Azazel Arhangel
3 637
Это объектно ориентированный язык...
сам ты ответье!!!!
Сергей Бочаров А я не знаю. Потому и спрашиваю.
˜ ˜ ответье xD