Jump to content

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

Термин «объектно-ориентированный язык» может использоваться в техническом смысле для описания любого языка программирования , в котором используется идея инкапсуляции состояния и операций внутри объектов . Объектно-ориентированные языки не обязательно поддерживают наследование или подтипирование , но те, которые поддерживают, также называются объектно-ориентированными . Объектно-ориентированные языки, которые не поддерживают наследование или подтипирование, обычно не считаются настоящими объектно-ориентированными языками.

Примеры объектно-ориентированных языков , в приблизительном хронологическом порядке, включают Simula , Smalltalk , C++ (объектная модель которого основана на Simula), Objective-C (объектная модель которого основана на Smalltalk), Eiffel , Xojo (ранее REALbasic), Python. , Ruby , Java , Visual Basic .NET , C# и Fortran 2003 . Примерами объектно-ориентированного, но не объектно-ориентированного языка являются ранние версии Ada , Visual Basic (VB) и Fortran 90 . Все эти языки поддерживают определение объекта как структуры данных, но лишены полиморфизма и наследования.

На практике термин «объектно-ориентированный» обычно применяется к тем объектно-ориентированным языкам, которые не являются также объектно-ориентированными, хотя все объектно-ориентированные языки также являются объектно-ориентированными по определению. Вместо этого термины «объектно-ориентированный» и «объектно-ориентированный» обычно используются как взаимоисключающие альтернативы, а не как пересекающиеся категории.

Иногда термин «объектно-ориентированный» применяется к языкам программирования, основанным на прототипах , настоящим объектно-ориентированным языкам, в которых отсутствуют классы, но в которых объекты вместо этого наследуют свой код и данные непосредственно от других объектов- шаблонов . Примером широко используемого языка сценариев на основе прототипов является JavaScript .

Как объектно-ориентированные, так и объектно-ориентированные языки (как на основе классов, так и на основе прототипов) могут подвергаться статической проверке типов . Статическая проверка языков, основанных на прототипах, может оказаться затруднительной, поскольку эти языки часто позволяют динамически расширять объекты с помощью нового поведения и даже изменять их родительский объект (от которого они наследуются) во время выполнения . [ 1 ] [ 2 ]

Разница между объектно-ориентированными и объектно-ориентированными языками
Объектно-ориентированный язык Объектно-ориентированный язык
Объектно-ориентированные языки поддерживают все возможности объектно-ориентированного программирования (ООП): абстракцию , инкапсуляцию , наследование , полиморфизм. Объектно-ориентированные языки поддерживают подмножество функций ООП, таких как полиморфизм или наследование. [ нужна ссылка ]
Примеры: C++ , C# , Java и т. д. Примеры: Visual Basic (до .NET). [ нужна ссылка ]
  1. ^ Вегнер, Питер (декабрь 1987 г.). «Размеры проектирования объектно-ориентированного языка» (PDF) . В Мейровице, Норман (ред.). Материалы конференции «Объектно-ориентированные системы, языки и приложения программирования — OOPSLA '87» . Том. 22. С. 168–182. дои : 10.1145/38765.38823 . ISBN  0897912470 . S2CID   819420 .
  2. ^ Барби, С.; Кемпе, М.; Штромайер, А. (1993). «Объектно-ориентированное программирование на Ada 9X» . Проект технического отчета . Лаборатория программной инженерии Швейцарского федерального технологического института в Лозанне . Проверено 15 декабря 2013 г. Сама Ада 83 обычно не считается объектно-ориентированной; скорее, согласно терминологии Вегнера [Weg 87], его называют объектно-ориентированным, поскольку он обеспечивает лишь ограниченную форму наследования и лишен полиморфизма.

См. также

[ редактировать ]


Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 5c7625e77ca17028161734470dca2fa2__1710102000
URL1:https://arc.ask3.ru/arc/aa/5c/a2/5c7625e77ca17028161734470dca2fa2.html
Заголовок, (Title) документа по адресу, URL1:
Object-based language - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)