Объектно-ориентированный язык программирования (ОО-язык) — язык, построенный на принципах объектно-ориентированного программирования.
В основе концепции объектно-ориентированного программирования лежит понятие объекта — некой сущности, которая объединяет в себе поля (данные) и методы (выполняемые объектом действия).
Например, объект человек
может иметь поля имя
, фамилия
и методы есть
и спать
. Соответственно, в программе можем использовать операторы Человек.Имя:="Иван"
и Человек.Есть(пища)
.
В современных ОО языках используются механизмы[1]:
- Наследование. Создание нового класса объектов путём добавления новых элементов (методов). Некоторые ОО языки позволяют выполнять множественное наследование, то есть объединять в одном классе возможности нескольких других классов[2].
- Инкапсуляция. Сокрытие деталей реализации, которое позволяет вносить изменения в части программы безболезненно для других её частей, что существенно упрощает сопровождение и модификацию ПО[2].
- Полиморфизм. При полиморфизме некоторые части (методы) родительского класса заменяются новыми, реализующими специфические для данного потомка действия. Таким образом, интерфейс классов остаётся прежним, а реализация методов с одинаковым названием и набором параметров различается. В ООП обычно применяется полиморфизм подтипов (называемый при этом просто «полиморфизмом»), нередко в форме позднего связывания[англ.][2].
Неполный список объектно-ориентированных языков программирования:[3]
Кроме ОО-языков общего назначения существуют и узкоспециализированные ОО-языки.
- ↑ 1 2 Роберт Лафоре, «Объектно-ориентированное программирование в C++», Издательский дом "Питер", 2013 (неопр.). Дата обращения: 17 августа 2015. Архивировано 5 марта 2016 года.
- ↑ 1 2 3 4 Java: Основные понятия ООП (неопр.). Дата обращения: 17 августа 2015. Архивировано 21 августа 2015 года.
- ↑ Классификация языков программирования (неопр.). Дата обращения: 17 августа 2015. Архивировано 13 августа 2015 года.
- ↑ Статьи о Delphi (неопр.). Дата обращения: 17 августа 2015. Архивировано 3 августа 2015 года.
- ↑ Объектно-ориентированное программирование Delphi (неопр.). Дата обращения: 17 августа 2015. Архивировано из оригинала 2 августа 2015 года.
- ↑ Команда разработчиков BLFS, «За пределами проекта „Linux® с нуля“». Версия 7.4, Том 1, стр.622
- ↑ Java. Объектно-ориентированное программирование с интерфейсами (неопр.). Дата обращения: 17 августа 2015. Архивировано из оригинала 16 августа 2019 года.
- ↑ Введение в объектно-ориентированный JavaScript (неопр.). Дата обращения: 17 августа 2015. Архивировано 23 сентября 2015 года.
- ↑ Понимание ООП в JavaScript (неопр.). Дата обращения: 17 августа 2015. Архивировано 25 августа 2015 года.
- ↑ ООП в функциональном стиле JavaScript (неопр.). Дата обращения: 17 августа 2015. Архивировано из оригинала 14 июля 2019 года.
- ↑ Разработка под Apple. Objective-C (неопр.). Дата обращения: 17 августа 2015. Архивировано 30 августа 2015 года.
- ↑ PHP: Основы ООП (неопр.). Дата обращения: 17 августа 2015. Архивировано 22 июля 2015 года.
- ↑ Введение в объектно-ориентированное программирование (ООП) на Python (неопр.). Дата обращения: 17 августа 2015. Архивировано 7 августа 2015 года.
- ↑ Объектно-ориентированное Программирование (ООП) в Ruby (неопр.). Дата обращения: 17 августа 2015. Архивировано 13 сентября 2015 года.
- ↑ А.Г. Иванов, Ю.Е. Кремер, «Smalltalk: Концепция объектно-ориентированного программирования», Компьютер Пресс, N 4, 1992 г. (неопр.) Дата обращения: 17 августа 2015. Архивировано из оригинала 30 октября 2019 года.
- ↑ Кирютенко Ю.А., Савельев В.А., «Объектно-ориентированное программирование. Язык Smalltalk» — М.: Вузовская книга, 2006. ISBN 5-9502-0097-7 (неопр.). Дата обращения: 17 августа 2015. Архивировано из оригинала 4 марта 2016 года.
- ↑ Apple Inc., «The Swift Programming Language», 2014 (неопр.). Дата обращения: 17 августа 2015. Архивировано 29 ноября 2015 года.
- ↑ Объектно-ориентированное программирование на языке Vala (неопр.). Дата обращения: 17 августа 2015. Архивировано 24 сентября 2015 года.