Для установки нажмите кнопочку Установить расширение. И это всё.

Исходный код расширения WIKI 2 регулярно проверяется специалистами Mozilla Foundation, Google и Apple. Вы также можете это сделать в любой момент.

4,5
Келли Слэйтон
Мои поздравления с отличным проектом... что за великолепная идея!
Александр Григорьевский
Я использую WIKI 2 каждый день
и почти забыл как выглядит оригинальная Википедия.
Статистика
На русском, статей
Улучшено за 24 ч.
Добавлено за 24 ч.
Альтернативы
Недавние
Show all languages
Что мы делаем. Каждая страница проходит через несколько сотен совершенствующих техник. Совершенно та же Википедия. Только лучше.
.
Лео
Ньютон
Яркие
Мягкие

Из Википедии — свободной энциклопедии

Высший тип (универсальный супертип) — тип, применяемый в ряде теорий типов и языков программирования, который содержит каждый возможный объект системы. Высший тип иногда именуется универсальным супертипом, то есть все остальные типы в любой отдельно взятой системе типов являются подтипами самого верхнего. Двойственное понятие — низший тип (универсальный подтип), не содержащий никаких возможных значений или подтипов.

Энциклопедичный YouTube

  • 1/3
    Просмотров:
    377
    5 415
    4 231
  • Гофман А.Б. Расово-антропологический детерминизм (расизм)
  • Школа научного управления. Философия практики Генри Форда
  • Композиция и событийный ряд | Семинар от проекта "Курсы писательского мастерства"

Субтитры

Поддержка в языках программирования

Языки программирования с явной поддержкой высшего типа. Большинство объектно-ориентированных языков программирования включают универсальный базовый класс:

Название Языки
Object Smalltalk, Java, JavaScript, Ruby и некоторые другие. В Java он часто обозначается с префиксом, указывающим на пакет, например, java.base/java/lang/Object. При этом Object не является супертипом для примитивных типов в Java; однако, начиная с Java 1.5, упаковка (autoboxing) позволяет выполнять явное или неявное приведение примитива к Object, например, ((Object)42).toString().
Object Objective-C. В OpenStep и Cocoa, которые являются самыми популярными фреймворками на базе языка, NSObject — как правило это универсальный базовый класс. Можно создавать новые корневые классы просто не указывая родительские классы при определении, но это крайне не рекомендуется. Высшим типом для указателей на объект является id.
System.Object C#, Visual Basic .NET и прочие языки платформы .NET Framework
object Python, начиная с унификации типов и классов в версии 2.2.
GObject Glib
TObject Object Pascal. [www.delphibasics.co.nr/RTL.asp?Name=TObject]
t Common Lisp и множество прочих диалектов Lisp.
Any Scala. X10, Kotlin.
GENERAL Eiffel.
UNIVERSAL Perl 5.
Variant Visual Basic вплоть до 6-й версии.

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

Необъектно-ориентированные языки обычно не имеют универсального супертипа (или полностью поддерживают полиморфизм подтипов). Common Lisp является исключение в том плане, что его встроенные типы образуют иерархию типов, даже когда его объектная система CLOS не используется.

В большинстве языков программирования высший тип — это абстрактный тип, который не содержит элементов, не являющихся элементами некоторого (объявленного) подтипа. В данном случае Java является исключением: выражение new Object() вполне корректно.

Высший тип используется как обобщённый тип, в первую очередь в языках без поддержки параметрического полиморфизма. Например, до добавления обобщённых типов в Java 5, коллекция классов в библиотеке Java (исключая массивы Java) поддерживали ссылки на тип Object; при этом способе любой несобственный тип может быть добавлен в коллекцию. Высший тип также часто используется для поддержки объектов неизвестного типа.

В языках со структурной системой типов высший тип — это пустая структура. Например, объекты в OCaml структурно типизированы; пустой тип объекта (тип объекта, не имеющего методов), «< >», — высший тип для объектных типов. Любой объект в OCaml может быть явным образом приведен к этому типу, хотя результат может быть довольно бесполезным.

Высший тип может также быть представлен как неявный тип в языках с нестатической типизацией. Языки с динамической типизацией часто поддерживают понижающее приведение (или «уточнение типа» (type refinement)) для предоставления программисту возможности указывать более специфический тип для объекта в ходе выполнения программы. Необходимо отметить, что понижающее приведение из типа void * в языке C++ не может быть выполнено в «безопасном» стиле, когда неудачное приведение выявляется средой языка.

Литература

  • Пирс Б. Типы в языках программирования. — Добросвет, 2012. — 680 с. — ISBN 978-5-7913-0082-9.
Эта страница в последний раз была отредактирована 6 ноября 2021 в 14:19.
Как только страница обновилась в Википедии она обновляется в Вики 2.
Обычно почти сразу, изредка в течении часа.
Основа этой страницы находится в Википедии. Текст доступен по лицензии CC BY-SA 3.0 Unported License. Нетекстовые медиаданные доступны под собственными лицензиями. Wikipedia® — зарегистрированный товарный знак организации Wikimedia Foundation, Inc. WIKI 2 является независимой компанией и не аффилирована с Фондом Викимедиа (Wikimedia Foundation).