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

>По умолчанию все классы в Kotlin имеют статус final, который

блокирует возможность наследования.
а почему так? какие аргументы в пользу такого?

18 ответов

20 просмотров

Best practices на опыте java. И это по-моему вообще во всех местах описано

можно плагин all-open использовать и тогда по умолчанию всё будет открыто

The The- Автор вопроса
Aλex Sokol
можно плагин all-open использовать и тогда по умол...

да не. просто как бы возможность наследоваться от любого класса это вроде как хорошо. впервые слышу. что это плохо.

Не нашел короткий ответ на первой странице гугла. TL;DR: должно быть сознательное решение о том, что мы хотим этот класс наследовать, а не о том, что не хотим. Потому что излишнее наследование - вред. Надо, чтобы люди делали композицию

The The
да не. просто как бы возможность наследоваться от ...

Это хорошо, но не для всех и не всегда. В общем, довольно опасный инструмент.

The The
да не. просто как бы возможность наследоваться от ...

Вот недавно уже было: https://en.wikipedia.org/wiki/Composition_over_inheritance

The The- Автор вопроса
Vladimir Petraković
Это хорошо, но не для всех и не всегда. В общем, д...

поэтому можно класс сделать final, когда наследоваться от этого класса не хорошо

The The
поэтому можно класс сделать final, когда наследова...

Фишка в том, что это всегда плохая идея, если об этом не подумал его автор

The The
поэтому можно класс сделать final, когда наследова...

> должно быть сознательное решение о том, что мы хотим этот класс наследовать, а не о том, что не хотим https://t.me/kotlin_lang/215734

The The
да не. просто как бы возможность наследоваться от ...

аналогично, впервые слышу, что это хорошо

The The
поэтому можно класс сделать final, когда наследова...

скорее, нужно делать класс open когда разработчик предусмотрел это и гарантирует безопасное наследование, в этом случае разработчику не придется думать по умолчанию над каждым классом насколько безопасно от него наследоваться

The The- Автор вопроса
Евгений
скорее, нужно делать класс open когда разработчик ...

один пишет, это для того чтобы "программист думал", другой "чтобы программисту не пришлось думать" 🌚

The The
один пишет, это для того чтобы "программист думал"...

мысль одна и та же везде. allopen не безопасно

The The
один пишет, это для того чтобы "программист думал"...

Одно и то же. Думал там, где надо и не думал, там где не надо

Вы хотели аргументы узнать или поспорить с ними?

Pavel Erokhin
screenshot

Большая просьба не переходить на личности без особой нужды.

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

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

а через ESC-код ?
Alexey Kulakov
29
30500 за редактор? )
Владимир
47
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
Ребят в СИ можно реализовать ООП?
Николай
33
у вас два процесса. один посылает другому сигнал. у вас есть код обоих процессов? если всё не так - расскажите как оно на самом деле. а именно кто кому чего, есть-ли консоли,...
Karagy
6
вы делали что-то подобное и как? может есть либы готовые? увидел картинку нокода, где всё линиями соединено и стало интересно попробовать то же в ddl на lua сделать. решил с ч...
Victor
8
Карта сайта