Progulki-po-reke-moskwa.ru

прогулки на теплоходе по Москве реке

Объектно-ориентированный язык программирования

08-07-2023

Объектно-ориентированный язык программирования (ОО-язык) — язык, построенный на принципах объектно-ориентированного программирования.

В основе концепции объектно-ориентированного программирования лежит понятие объекта — некой сущности, которая объединяет в себе поля (данные) и методы (выполняемые объектом действия).

Например, объект человек может иметь поля имя, фамилия и методы есть и спать. Соответственно, в программе можем использовать операторы Человек.Имя:="Иван" и Человек.Есть(пища).

Особенности

В современных ОО языках используются механизмы[1]:

  • Наследование. Создание нового класса объектов путём добавления новых элементов (методов). Некоторые ОО языки позволяют выполнять множественное наследование, то есть объединять в одном классе возможности нескольких других классов[2].
  • Инкапсуляция. Сокрытие деталей реализации, которое позволяет вносить изменения в части программы безболезненно для других её частей, что существенно упрощает сопровождение и модификацию ПО[2].
  • Полиморфизм. При полиморфизме некоторые части (методы) родительского класса заменяются новыми, реализующими специфические для данного потомка действия. Таким образом, интерфейс классов остаётся прежним, а реализация методов с одинаковым названием и набором параметров различается. В ООП обычно применяется полиморфизм подтипов (называемый при этом просто «полиморфизмом»), нередко в форме позднего связывания[en][2].

Список языков

Неполный список объектно-ориентированных языков программирования:[3]

Кроме ОО-языков общего назначения существуют и узкоспециализированные ОО-языки.

Примечания

  1. ↑ Архивировано 5 марта 2016 года.
  2. ↑ Java: Основные понятия ООП. Дата обращения: 17 августа 2015. Архивировано 21 августа 2015 года.
  3. Классификация языков программирования. Дата обращения: 17 августа 2015. Архивировано 13 августа 2015 года.
  4. Статьи о Delphi. Дата обращения: 17 августа 2015. Архивировано 3 августа 2015 года.
  5. оригинала 2 августа 2015 года.
  6. Команда разработчиков BLFS, «За пределами проекта „Linux® с нуля“». Версия 7.4, Том 1, стр.622
  7. оригинала 16 августа 2019 года.
  8. Введение в объектно-ориентированный JavaScript. Дата обращения: 17 августа 2015. Архивировано 23 сентября 2015 года.
  9. Понимание ООП в JavaScript. Дата обращения: 17 августа 2015. Архивировано 25 августа 2015 года.
  10. оригинала 14 июля 2019 года.
  11. Разработка под Apple. Objective-C. Дата обращения: 17 августа 2015. Архивировано 30 августа 2015 года.
  12. PHP: Основы ООП. Дата обращения: 17 августа 2015. Архивировано 22 июля 2015 года.
  13. Введение в объектно-ориентированное программирование (ООП) на Python. Дата обращения: 17 августа 2015. Архивировано 7 августа 2015 года.
  14. Объектно-ориентированное Программирование (ООП) в Ruby. Дата обращения: 17 августа 2015. Архивировано 13 сентября 2015 года.
  15. оригинала 30 октября 2019 года.
  16. оригинала 4 марта 2016 года.
  17. Архивировано 29 ноября 2015 года.
  18. Объектно-ориентированное программирование на языке Vala. Дата обращения: 17 августа 2015. Архивировано 24 сентября 2015 года.

Литература

  • Иан Грэхем. Объектно-ориентированные методы. Принципы и практика = Object-Oriented Methods: Principles & Practice. — 3-е изд. — М.: Вильямс, 2004. — 880 с. — ISBN 0-201-61913-X.
  • Антони Синтес. Освой самостоятельно объектно-ориентированное программирование за 21 день = Sams Teach Yourself Object-Oriented Programming in 21 Days. — М.: Вильямс, 2002. — 672 с. — ISBN 0-672-32109-2.
  • Гради Буч. Объектно-ориентированный анализ и проектирование с примерами приложений на C++. — Бином, 1998. — ISBN 0-8053-5340-2, ISBN 5-7989-0067-3, ISBN 5-7940-0017-1.
  • Петер Коуд (Дэвид Норт, Марк Мэйфилд). Объектные модели. Стратегии, шаблоны и приложения.

Ссылки

  • Коротко об истории объектно-ориентированного программирования Wayback Machine

Объектно-ориентированный язык программирования.

© 2021–2023 progulki-po-reke-moskwa.ru, Россия, Нальчик, ул. Терская 11, +7 (8662) 65-82-84