Объектно-ориентированный язык программирования
Объектно-ориентированный язык программирования (ОО-язык) — язык, построенный на принципах объектно-ориентированного программирования.
В основе концепции объектно-ориентированного программирования лежит понятие объекта — некой сущности, которая объединяет в себе поля (данные) и методы (выполняемые объектом действия).
Например, объект человек
может иметь поля имя
, фамилия
и методы есть
и спать
. Соответственно, в программе можем использовать операторы Человек.Имя:="Иван"
и Человек.Есть(пища)
.
Особенности
В современных ОО языках используются механизмы[1]:
- Наследование. Создание нового класса объектов путём добавления новых элементов (методов). Некоторые ОО языки позволяют выполнять множественное наследование, то есть объединять в одном классе возможности нескольких других классов[2].
- Инкапсуляция. Сокрытие деталей реализации, которое позволяет вносить изменения в части программы безболезненно для других её частей, что существенно упрощает сопровождение и модификацию ПО[2].
- Полиморфизм. При полиморфизме некоторые части (методы) родительского класса заменяются новыми, реализующими специфические для данного потомка действия. Таким образом, интерфейс классов остаётся прежним, а реализация методов с одинаковым названием и набором параметров различается. В ООП обычно применяется полиморфизм подтипов (называемый при этом просто «полиморфизмом»), нередко в форме позднего связывания[2].
Список языков
Неполный список объектно-ориентированных языков программирования:[3]
- ActionScript (3.0)
- Ada
- C#
- C++ [1]
- Cyclone
- D
- Delphi [4][5]
- Dylan [6]
- Eiffel
- F#
- Groovy
- Io
- Java [2][7]
- JavaScript [8][9][10]
- JScript .NET
- Kotlin
- Object Pascal
- Objective-C [11]
- Perl
- PHP [12]
- PowerBuilder
- Python [13]
- Ruby [14]
- Scala
- Simula
- Smalltalk [15][16]
- Lua
- Swift [17]
- Vala [18]
- VB.NET
- Visual DataFlex
- Xbase++
- X++
- Crystal
- Nim
- КуМир
Кроме ОО-языков общего назначения существуют и узкоспециализированные ОО-языки.
Примечания
- Роберт Лафоре, «Объектно-ориентированное программирование в C++», Издательский дом "Питер", 2013
- Java: Основные понятия ООП
- Классификация языков программирования
- Статьи о Delphi
- Объектно-ориентированное программирование Delphi (недоступная ссылка). Дата обращения: 17 августа 2015. Архивировано 2 августа 2015 года.
- Команда разработчиков BLFS, «За пределами проекта „Linux® с нуля“». Версия 7.4, Том 1, стр.622
- Java. Объектно-ориентированное программирование с интерфейсами (недоступная ссылка). Дата обращения: 17 августа 2015. Архивировано 16 августа 2019 года.
- Введение в объектно-ориентированный JavaScript
- Понимание ООП в JavaScript
- ООП в функциональном стиле JavaScript (недоступная ссылка). Дата обращения: 17 августа 2015. Архивировано 14 июля 2019 года.
- Разработка под Apple. Objective-C
- PHP: Основы ООП
- Введение в объектно-ориентированное программирование (ООП) на Python
- Объектно-ориентированное Программирование (ООП) в Ruby
- А.Г. Иванов, Ю.Е. Кремер, «Smalltalk: Концепция объектно-ориентированного программирования», Компьютер Пресс, N 4, 1992 г. (недоступная ссылка). Дата обращения: 17 августа 2015. Архивировано 30 октября 2019 года.
- Кирютенко Ю.А., Савельев В.А., «Объектно-ориентированное программирование. Язык Smalltalk» — М.: Вузовская книга, 2006. ISBN 5-9502-0097-7
- 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.
- Петер Коуд (Дэвид Норт, Марк Мэйфилд). Объектные модели. Стратегии, шаблоны и приложения.
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.