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

Я правильно понимаю, чтобы применять инверсию зависимостей не обязательно наследовать

интерфейс\протокол, а достаточно в реализации метода его указать в роли входных данных этот интерфейс\протокол.

Если владеете строго-типизированными яп, хотелось бы узнать как там это работает.

К примеру: есть функция которая принимает объект user с интерфейсом IUser[getAge, getName] с двумя методами. Если я закину в эту функцию экземпляр класса(который не наследует интерфейс), НО у него есть методы getAge и getName, то ошибка будет? ( с точки зрения строго-типизированного яп)

10 ответов

6 просмотров

Да, ошибка будет

GHdeewre- Автор вопроса
Vasilii
Да, ошибка будет

Я смогу проверку типов по прежнему делать?

Для инверсии зависимостей вообще не обязательно никакие протоколы декларировать.

С точки зрения строго типизированного языка с нормальными интерфейсами никакой ошибки не будет. Например, так работают протоколы в питоне и интерфейсы в го. А вот в джаве интерфейсы не интерфейсы по факту, а типы

Последнее, помнится, про различие структурной и номинативной типизации, строгость тут ни при чём

Tishka17
С точки зрения строго типизированного языка с норм...

Ну это же читается как "типы не типы по факту, а типы"

Tishka17
Нет. Интерфейсы и типы - разные вещи

Нет. Просто разные способы определения принадлежности значения к типу

Andrey
Нет. Просто разные способы определения принадлежно...

Ладно. Если мы ограничиваемся теорией типов, то интерфейсов вообще не существует, есть только типы.

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

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

тоесть, указав return eax, сгенерируется никому ненужная инструкция mov eax,eax ?
Aiwan \ (•◡•) / _bot
24
читать файл максимально быстро? странный вопрос))
zamtmn
53
Приветствуем всех! Устали без проектов? Если вы программист и хотите получать стабильные заказы, компания Elif предлагает вам недельный курс по поиску проектов и их ведению. ...
Elif
1
А чего сейчас в моде вместо Error для эксепшенов? А то я тут внезапно узрел что он не рекомендуется :) У Try::Tiny какой-то совершенно ужасный синтаксис если надо конкретные э...
Denis F
19
Привет. Сразу скажу, что на C/C++/Rust я не пишу, но тем не менее возникла потребность дебага C/C++/Rust кода. Суть: есть серверное приложение, которое периодически ведёт себ...
ninekeem 🐳
4
а зачем этот вопрос для удаления из чата?
Mёdkinson Medvezhkin
63
всем привет! углубившись в плюсы и начав изучать реверсинг понял, что без асм'а никуда со своими высокоабстрактными представлениями начал изучать механизмы асма, и не совсем п...
9
или вы считаете муит дает знание?
супер_лох_3000 альфа версия
12
значить например он учился в СДУ то получается он особенный?)
Asets Serikov
11
А кто такой мужчина в твоем понимании Азиз?
who?です 🐈
11
Карта сайта