Парадигма объектно-ориентированного программирования

Парадигма объектно-ориентированного программирования


Объектно-ориентированное программирование (ООП) – методология программирования, основанная на представлении программы в виде совокупности объектов (объект в понимании ООП, это сущность, подпрограмма которая выполняет ряд задач и общается с другими объектами), каждый из которых является экземпляром определенного класса, а классы образуют иерархию наследования[1].

 

Одна из проблем это отсутствие строгого и общепризнанного определения, об этом упоминал Christopher J. Date(один из крупнейших специалистов в области баз данных).

 

Если посмотреть на идеи Smalltalk’а[3], столкнемся с словами: “Все есть объект”. Кроме переменных, и пакетов, и примитивов. Числа и классы тоже не совсем объекты, и так далее. Очевидно, “все есть объект” нельзя назвать основной парадигмой.

 

Peter Wegner однажды предположил, что основой объектно-ориентированного программирования являются объекты, классы и наследование[2]. Однако, каждый язык программирования поддерживает их по-разному, или даже не поддерживает по умолчанию некоторые из них. Ясно, что это тоже не парадигма ООП.

 

Одни утверждают, что ООП — это Инкапсуляция, Абстракция и Полиморфизм. Разные источники говорят, что это всего лишь разные слова для описания одинаковой идеи. А другие отмечают, что это три фундаментально разные концепции.

 

Проанализировав другие парадигмы решающие задачи определённым образом, можно предположить основную идею ООП:

  • Процедурное программирование часто описывается как программы = данные + алгоритмы.
  • Логическое программирование гласит:

программы = факты + правила.

  • Функциональное программирование:

 программы = функции + функции.

 

Что наводит на мысль, что ООП означает: программы = объекты + сообщения. Таким образом, теряется главное. А главное в том, что ООП – это не парадигма, как, например, процедурное, логическое или функциональное программирование. Вместо этого в соответствии с ООП: “для каждой отдельной задачи вы должны разработать свою собственную парадигму”. Другими словами, парадигма объектно-ориентированного проектирования такова: “Программирование — это моделирование”.

 

Евгений Максимец, Кафедра КИТАМ ХНУРЭ 2016


Автоматы заряжания установленные на танках Автоматы заряжания установленные на танках

Автомат заряжания — механизм артиллерийских орудий среднего и крупного калибров, производящий перезаряжание, удаление стреляных гильз, а также загрузку и разгрузку боеприпасов.

Устанавливается

Подробнее
Анализ акустических сабвуферов Анализ акустических сабвуферов

   Сабвуфер – это акустическая система, воспроизводящая звуки низких частот, а также инфразвук (примерно от 5 до 200Гц).

Подробнее
mode_edit
Случайная цитата

Свои такие удивительные секреты загадочной красоты восточные женщины охраняли от посторонних и передавали из поколения в поколение.