169 похожих чатов

А как реализовать интерфейс без сабтайпинга?

9 ответов

23 просмотра

интерфейс это вроде просто контракт и не считается сабтайпингом

Denis-Kalinochkin Автор вопроса
Aλex Sokol
интерфейс это вроде просто контракт и не считается...

Но реализация интерфейса это его подтип на уровне системы типов. Ты же можешь передать ее туда, где ожидается интерфейс

Denis Kalinochkin
Но реализация интерфейса это его подтип на уровне ...

наследование это отношения между двумя объектами, сам по себе интерфейс - не объект

Denis-Kalinochkin Автор вопроса
Aλex Sokol
наследование это отношения между двумя объектами, ...

Наследование и сабтайпинг это разные вещи

Denis Kalinochkin
Наследование и сабтайпинг это разные вещи

Так, можно фундаментальную ссылку на "сабтайпинг без наследования"? То ли это самое, чем котлин круче HM?

Denis-Kalinochkin Автор вопроса
-=LevT=-
Так, можно фундаментальную ссылку на "сабтайпинг б...

В вики вроде нормально написано https://en.wikipedia.org/wiki/Subtyping Если интересно в больших подробностях - Benjamin C. Pierce, Types and programming languages

Denis Kalinochkin
В вики вроде нормально написано https://en.wikiped...

Спасибо, но всё-таки прошу конкретнее-приземлённее о "крутизне котлина над HM"

Похожие вопросы

Обсуждают сегодня

30500 за редактор? )
Владимир
47
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
вы делали что-то подобное и как? может есть либы готовые? увидел картинку нокода, где всё линиями соединено и стало интересно попробовать то же в ddl на lua сделать. решил с ч...
Victor
8
Подскажите пожалуйста, как в CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); получить наз...
A Z
7
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
1
Он в одиночку это дело запилил или была какая-то команда?
Aquinary
12
~ 2m21s  nix shell github:nixos/nixpkgs#stack ~  stack ghc -- --version error: … while calling the 'derivationStrict' builtin at /builtin/derivation.nix:...
Rebuild your mind.
6
Всем привет, нужна как никогда, нужна помощь с IO в загрузчике. Пишу в code16 после установки сегментных регистров, пишу вывод символа. Пробовал 2 варианта: # 1 mov $0x0E, %a...
Shadow Akira
14
Карта сайта