Об'єктно-орієнтована мова програмування
Об'єктноорієнтована мова програмування (ОО-мова) — мова, побудована на принципах об'єктноорієнтованого програмування.
В основі концепції об'єктноорієнтованого програмування лежить поняття об'єкта — певної сутності, яка об'єднує в собі поля (дані) і методи (виконувані об'єктом дії).
Наприклад, об'єкт Людина
може мати поля Ім'я
, Прізвище
і методи Їсти
і Спати
. Відповідно, у програмі можемо використовувати оператори Людина.Ім'я:="Іван"
і Людина.Їсти(їжа)
.
ОсобливостіРедагувати
В сучасних ОО-мовах використовуються механізми:[1]
- Успадкування. Створення нового класу об'єктів шляхом додавання нових елементів (методів) до вже наявного. Деякі ОО-мови дозволяють виконувати множинне успадкування, тобто об'єднувати в одному класі можливості кількох інших класів.[2]
- Інкапсуляція. Приховування деталей реалізації, яке дозволяє вносити зміни в частини програми безболісно для інших її частин, що істотно спрощує супровід і модифікацію ПЗ.
- Поліморфізм. За поліморфізму деякі частини (методи) батьківського класу замінюються новими, що реалізують специфічні для даного нащадка дії. Таким чином, інтерфейс класів залишається колишнім, а реалізація методів з однаковою назвою та набором параметрів різниться. В ООП зазвичай застосовується поліморфізм підтипів (званий при цьому просто «поліморфізмом»), нерідко у формі пізнього зв'язування[en].
Список мовРедагувати
Неповний список об'єктноорієнтованих мов програмування:[3]
Крім ОО-мов загального призначення існують і вузькоспеціалізовані ОО-мови.
ПриміткиРедагувати
- ↑ а б Роберт Лафоре, «Объектно-ориентированное программирование в C++», Издательский дом «Питер», 2013
- ↑ а б Java: Основные понятия ООП. Архів оригіналу за 21 серпня 2015. Процитовано 31 січня 2020.
- ↑ Классификация языков программирования. Архів оригіналу за 13 серпня 2015. Процитовано 31 січня 2020.
- ↑ Команда разработчиков BLFS, «За пределами проекта „Linux® с нуля“». Версия 7.4, Том 1, стр.622
- ↑ Java. Объектно-ориентированное программирование с интерфейсами. Архів оригіналу за 16 серпня 2019. Процитовано 31 січня 2020.
- ↑ Введение в объектно-ориентированный JavaScript
- ↑ Понимание ООП в JavaScript
- ↑ ООП в функциональном стиле JavaScript. Архів оригіналу за 14 липня 2019. Процитовано 31 січня 2020.
- ↑ Разработка под Apple. Objective-C
- ↑ PHP: Основы ООП
- ↑ Введение в объектно-ориентированное программирование (ООП) на Python. Архів оригіналу за 7 серпня 2015. Процитовано 31 січня 2020.
- ↑ Объектно-ориентированное Программирование (ООП) в Ruby
- ↑ А. Г. Иванов, Ю. Е. Кремер, «Smalltalk: Концепция объектно-ориентированного программирования», Компьютер Пресс, N 4, 1992 г. Архів оригіналу за 30 жовтня 2019. Процитовано 31 січня 2020.
- ↑ Кирютенко Ю. А., Савельев В. А., «Объектно-ориентированное программирование. Язык Smalltalk» — М.: Вузовская книга, 2006. ISBN 5-9502-0097-7. Архів оригіналу за 4 березня 2016. Процитовано 31 січня 2020.
- ↑ Apple Inc., «The Swift Programming Language», 2014
- ↑ Объектно-ориентированное программирование на языке Vala
ЛітератураРедагувати
- Иан Грэхем. Объектно-ориентированные методы. Принципы и практика = 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.
- Гради Буч. Объектно-ориентированный анализ и проектирование с примерами приложений на С++. — Бином, 1998. — ISBN 0-8053-5340-2, ISBN 5-7989-0067-3, ISBN 5-7940-0017-1.
- Петер Коуд (Дэвид Норт, Марк Мэйфилд). Объектные модели. Стратегии, шаблоны и приложения.