Size: a a a

2021 April 24

Dv

Dr. Friedrich von Ne... in pro.net
Там разница очень важна, потому что интерфейсов нет в рантайме.
источник

AK

Andrei Kurosh in pro.net
При этом interface IFoo2 extends IFoo
источник

Dv

Dr. Friedrich von Ne... in pro.net
А для языков с материальными интерфейсами я это считаю абсолютно ненужной рюшечкой. Собственно, в C# всё правильно сделали, например.
источник

AK

Andrei Kurosh in pro.net
Если смотреть с точки зрения рантайма, то наверное да. И особенно когда ввели default interface implementations
источник

AK

Andrei Kurosh in pro.net
Но с точки зрения логики наследовать реализацию (возможности) и контракты (обязанности) кажется оправданно разделенным
источник

Dv

Dr. Friedrich von Ne... in pro.net
Это ломается об абстрактные классы
источник

Dv

Dr. Friedrich von Ne... in pro.net
Казалось бы, они тоже дают в нагрузку некие контракты, но почему-то контракт от абстрактного класса мы наследуем одним словом, а от такой же контракт, но от интерфейса — другим 🤷‍♂️
источник

AK

Andrei Kurosh in pro.net
Ну да, согласен
источник

AK

Andrei Kurosh in pro.net
Но у абстрактного класса могут быть реализации и стейт
источник

Dv

Dr. Friedrich von Ne... in pro.net
А я видал уже и приколистов, которые абстрактные классы называют с буковкой I, и изо всех сил делают вид, что это почти интерфейс!
источник

AK

Andrei Kurosh in pro.net
Наркомансеры же!
источник

И

Испанский Коммунист... in pro.net
О, спасибки
источник

Dv

Dr. Friedrich von Ne... in pro.net
Наверняка можно встретить и противоположное отклонение — когда народ пишет код в интерфейсе (с помощью default implementations), и делает вид, что это обычный базовый класс.

Я не знаю, зачем, но наверняка найдутся и такие.
источник

И

Испанский Коммунист... in pro.net
Кстати, а нахер нужны абстрактные классы?
источник

И

Испанский Коммунист... in pro.net
Вот их зачем добавили? Ведь есть интерфейсы
источник

И

Испанский Коммунист... in pro.net
и в том, и в том случае мы обходимся без тела метода
источник

Dv

Dr. Friedrich von Ne... in pro.net
Для удобства.
источник

Dv

Dr. Friedrich von Ne... in pro.net
Хочу реализовать интерфейс (с кодом) и добавить к нему некий дочерний контракт
источник

VK

Vladislav Khapin in pro.net
Прост
источник

Dv

Dr. Friedrich von Ne... in pro.net
источник