Об'єктно-орієнтована мова програмування

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку

Об'єктноорієнтована мова програмування (ОО-мова) — мова, побудована на принципах об'єктноорієнтованого програмування.

В основі концепції об'єктноорієнтованого програмування лежить поняття об'єкта — певної сутності, яка об'єднує в собі поля (дані) і методи (виконувані об'єктом дії).

Наприклад, об'єкт Людина може мати поля Ім'я, Прізвище і методи Їсти і Спати. Відповідно, у програмі можемо використовувати оператори Людина.Ім'я:="Іван" і Людина.Їсти(їжа).

Особливості[ред. | ред. код]

В сучасних ОО-мовах використовуються механізми:[1]

  • Успадкування. Створення нового класу об'єктів шляхом додавання нових елементів (методів) до вже наявного. Деякі ОО-мови дозволяють виконувати множинне успадкування, тобто об'єднувати в одному класі можливості кількох інших класів.[2]
  • Інкапсуляція. Приховування деталей реалізації, яке дозволяє вносити зміни в частини програми безболісно для інших її частин, що істотно спрощує супровід і модифікацію ПЗ.
  • Поліморфізм. За поліморфізму деякі частини (методи) батьківського класу замінюються новими, що реалізують специфічні для даного нащадка дії. Таким чином, інтерфейс класів залишається колишнім, а реалізація методів з однаковою назвою та набором параметрів різниться. В ООП зазвичай застосовується поліморфізм підтипів (званий при цьому просто «поліморфізмом»), нерідко у формі пізнього зв'язування[en].

Список мов[ред. | ред. код]

Неповний список об'єктноорієнтованих мов програмування:[3]

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

Примітки[ред. | ред. код]

  1. а б Роберт Лафоре, «Объектно-ориентированное программирование в C++», Издательский дом «Питер», 2013
  2. а б Java: Основные понятия ООП. Архів оригіналу за 21 серпня 2015. Процитовано 31 січня 2020.
  3. Классификация языков программирования. Архів оригіналу за 13 серпня 2015. Процитовано 31 січня 2020.
  4. Команда разработчиков BLFS, «За пределами проекта „Linux® с нуля“». Версия 7.4, Том 1, стр.622
  5. Java. Объектно-ориентированное программирование с интерфейсами. Архів оригіналу за 16 серпня 2019. Процитовано 31 січня 2020.
  6. Введение в объектно-ориентированный JavaScript
  7. Понимание ООП в JavaScript
  8. ООП в функциональном стиле JavaScript. Архів оригіналу за 14 липня 2019. Процитовано 31 січня 2020.
  9. Разработка под Apple. Objective-C
  10. PHP: Основы ООП
  11. Введение в объектно-ориентированное программирование (ООП) на Python. Архів оригіналу за 7 серпня 2015. Процитовано 31 січня 2020.
  12. Объектно-ориентированное Программирование (ООП) в Ruby
  13. А. Г. Иванов, Ю. Е. Кремер, «Smalltalk: Концепция объектно-ориентированного программирования», Компьютер Пресс, N 4, 1992 г. Архів оригіналу за 30 жовтня 2019. Процитовано 31 січня 2020.
  14. Кирютенко Ю. А., Савельев В. А., «Объектно-ориентированное программирование. Язык Smalltalk» — М.: Вузовская книга, 2006. ISBN 5-9502-0097-7 (PDF). Архів оригіналу (PDF) за 4 березня 2016. Процитовано 31 січня 2020.
  15. Apple Inc., «The Swift Programming Language», 2014
  16. Объектно-ориентированное программирование на языке 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.
  • Петер Коуд (Дэвид Норт, Марк Мэйфилд). Объектные модели. Стратегии, шаблоны и приложения.

Посилання[ред. | ред. код]