В чем разница между объектно-ориентированным и объектно-ориентированным языком программирования? Является ли JavaScript объектно-ориентированным или основанным?
Разница между объектно-ориентированным и объектно-ориентированным языком
Ответ 1
Wikipedia говорит:
В информатике термин "объект-основанный" имеет два разных смысла:
Как-то ограниченная версия объектно-ориентированного программирования, в которой применяется одно или несколько из следующих ограничений: (a) Нет неявного наследования, (б) нет полиморфизма, (c) только очень уменьшенный Подмножество доступных значений - это объекты (обычно компоненты GUI).
Системы на основе прототипов (то есть те, которые основаны на объектах "prototype", которые не являются экземплярами какого-либо класса).
Javascript основан на объектах.
Ответ 2
Объектно-ориентированный основан на передаче сообщений, каких-либо классов или наследования.
"Объектно-ориентированный", придуманный доктором Аланом Кей, был захвачен С++, Java и Co, Д-р Алан Кей дал понять, что OO - это сообщения, а не классы. Д-р Alan Kay On OO "ООП для меня означает только обмен сообщениями, местное удержание и защиту и скрытие государственного процесса и крайне позднее связывание всех вещей ".
Erlang, LISP, Smalltalk - это языки программирования OO, а не С++, Java, С# и т.д., которые на самом деле основаны на объектах.
Ответ 3
Объектно-ориентированный язык
Объектно-ориентированный язык не имеет встроенного объекта. Он имеет все особенности ООП. Объектно-ориентированными языками являются С++, С#, Java и т.д.
Объектно-ориентированный язык
Язык, основанный на объектах, не поддерживает все функции ООП, такие как полиморфизм и наследование. Он имеет встроенный объект, например javascript, с окном object.languages являются Javascript, VB и т.д.