Интерфейс - нужно имплементировать полностью. Абстрактный клас может иметь частичную реализацию.
А зачем так делать? Это же противоречит 4му принципу солид. Интерфейс не должен иметь методы, которые класс не использует
А абстрактный класс не есть интерфейс
Есть к примеру абстрактный клас, который реализует какие-то базовые штуки, которые можно оставить "как-есть", а можно переопределить. А в интерфейсе такого нет. Там "голый контракт".
А зечем он может понадобиться?
Я тут читаю книги "вы не знаете js" так там говорится, что в js нет классов и не фиг их туда тащить😁 Пытайтесь, но не выпендривайтесь с ними😁 Это как бэкэндеры ругались, что при переходе с C++ на C# один кодер натаскал библиотек, чтобы писать на C# как на C++😁
Нуу, это же prototype-based язык?
Везде все одинаково, даже в js есть классы и можно реализовать многие парадигма ооп, в js тоже некоторые используются, а классы это чистая инкапсуляция тот же обьект
В js есть объекты. Но прототип ссыдку дает, а не копирует, как в других языках. Потому класс, пишется в книге, не более чем сахар в угоду ооп тренду🤷♂
Тут отличие в том, что в других языках это "обьязательное условие", а в ДжиЕсть можно делать всё, что угодно.
Я больше скажу. Прототипное программирование, это которое в жс с рождения -- тоже ООП (: И не надо использовать классы для ООП
Обсуждают сегодня