C#

Что значит "ООП"

И чем такой язык программирования отличается от других ЯП которые не объектно-ориентированные
Гугл запретили?
ООП язык - это язык в котором можно писать в ООП стиле.
Более конкретно про ООП: https://ru.wikipedia.org/wiki/Объектно-ориентированное_программирование

P.s. ООП - это не конкретный язык, а лишь подход в программировании "Объектно-ориентированное программирование"
АР
Абай Рашит
17 671
Лучший ответ
Perfect Онлайн Магазин Получается ООП стиль основывается на... Ну типа это как вёрстка на html с использованием css классов? ЯП который не объектно-ориентирован не использует классы?
ООП - это, по факту, синоним модульного программирования: когда программа состоит из взаимодействующих друг с другом "чёрных ящиков" - модулей. Модуль не может влезть во внутренности другого модуля. Каждый модуль реализует свою отдельную часть программы. В результате код проще писать, отлаживать, модифицировать. Снижается стоимость разработки - и это главная причина популярности ООП.

Наиболее популярный вариант ООП реализует модульность посредством классов и объектов - потому и Объектно-Ориентированное Программирование. Вероятно, ты слышал от адептов этого ООП-культа религиозную мантру: "полиморфизм, инкапсуляция, наследование".

В реальности, важен только полиморфизм. Есть языки, в которых ООП реализуется без встроенных в язык механизмов инкапсуляции. Есть ООП-языки вообще без классов, объектов, наследования: полноценной альтернативой наследованию является композиция: https://habr.com/ru/post/354046/.

Впрочем, в большинстве языков с наследованием возможности наследования максимально урезаны. Это только в C++ (и, может быть, ещё в нескольких не слишком популярных языках) есть множественное наследование. В остальных же языках наследование ограничивается единственным родителем (который, в свою очередь, может иметь единственного родителя и т. д.), а для реализации полиморфизма вместо множественного наследования используются более простые и надёжные интерфейсы.

P.S. Надо понимать, что в любом императивном языке, имеющем указатели на подпрограммы, полиморфизм очень легко эмулируется вручную. Но в ООП-языки встроены механизмы, позволяющие использовать полиморфизм максимально удобно.
Алексей Костин
Алексей Костин
89 625
Охрана общественного порядка
Рома Якимов
Рома Якимов
87 371
Person p = new Person("Петя");
p.Kill();
Ibragim Junusov
Ibragim Junusov
51 461
очень очень плохо
Организация освобождения Палестины
Игорь Морозов
Игорь Морозов
65 851
Орган опеки и попечительства
ООП это язык? Че за хрень?
Viktor Leon
Viktor Leon
42 845
Perfect Онлайн Магазин Сорян, я имел ввиду "и чем такие языки..."
ООП, это значит, что язык воспринимает всё в коде как объекты