
    Новые сообщения [новые:0]
  
  Дайджест 
  
  Горячие темы
    Избранное [новые:0]
  
Форумы 
 
Пользователи 
Статистика 
Статистика нагрузки 
    Мод. лог 
  
  Поиск 
  | 
| 
 13.11.2020, 21:55 
 | 
|||
|---|---|---|---|
  
  | 
|||
Изолированные классы  | 
|||
| 
 #18+ 
  
    
  Привет, всех с пятницей) Натолкнулся недавно на понятие изолированные классы, почитал, посмотрел примеры, немного не вкурил. Можете дошкольнику объяснить на пальцах что это такое и какая у них сфера применения?) ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 
  
  
   | 
| 
 13.11.2020, 22:09 
 | 
|||
|---|---|---|---|
Изолированные классы  | 
|||
| 
 #18+ 
  
    
  Как этот термин звучал в англоязычном варианте? ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 
  
  
   | 
| 
 13.11.2020, 22:24 
 | 
|||
|---|---|---|---|
Изолированные классы  | 
|||
| 
 #18+ 
  
    
  sealed? для чего, написано в первоисточнике https://openjdk.java.net/jeps/360 Goals Allow the author of a class or interface to control which code is responsible for implementing it. Provide a more declarative way than access modifiers to restrict the use of a superclass. Support future directions in pattern matching by underpinning the exhaustive analysis of patterns. Non-Goals It is not a goal to provide new forms of access control such as "friends". It is not a goal to change final in any way. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 
  
  
   | 
| 
 13.11.2020, 22:24 
 | 
|||
|---|---|---|---|
Изолированные классы  | 
|||
| 
 #18+ 
  
    
  https://habr.com/ru/company/otus/blog/527928/       Запечатанные классы ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 
  
  
   | 
| 
 13.11.2020, 22:39 
 | 
|||
|---|---|---|---|
  
  | 
|||
Изолированные классы  | 
|||
| 
 #18+ 
  
    
  mayton Как этот термин звучал в англоязычном варианте? Sealed. Вадя уже скинул ссылку, читаю, идея пока ускользает. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 
  
  
   | 
| 
 13.11.2020, 22:48 
 | 
|||
|---|---|---|---|
Изолированные классы  | 
|||
| 
 #18+ 
  
    
  Я помню этот термин. Я его читал у Хорстмана в его Scala-книжке. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 
  
  
   | 
| 
 13.11.2020, 22:50 
 | 
|||
|---|---|---|---|
Изолированные классы  | 
|||
| 
 #18+ 
  
    
  Брайн Гоетс его предложил в 2019 году и получается что в JDK-15 уже имплементировано судя по этой бумажке. https://openjdk.java.net/jeps/360 ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 
  
  
   | 
| 
 14.11.2020, 00:32 
 | 
|||
|---|---|---|---|
  
  | 
|||
Изолированные классы  | 
|||
| 
 #18+ 
  
    
  chpasha, Я почитал, там один из примеров понятен, одно из назначений такого типа класса- Изолированный класс позволяет указывать, какие классы ( по аналогии с implements, где мы перечисляем обязательные к реализации методы) могут его наследовать. Это понятно, в принципе полезно. Но дальше начинается кислота ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 
  
  
   | 
| 
 14.11.2020, 00:35 
 | 
|||
|---|---|---|---|
  
  | 
|||
Изолированные классы  | 
|||
| 
 #18+ 
  
    
  Если лично вам не требуется сложный дизайн иерархии классов - это ещё ничего не значит. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 
  
  
   | 
| 
 14.11.2020, 00:55 
 | 
|||
|---|---|---|---|
  
  | 
|||
Изолированные классы  | 
|||
| 
 #18+ 
  
    
  Basil A. Sidorov Если лично вам не требуется сложный дизайн иерархии классов - это ещё ничего не значит. Согласен, более того, даже если вам все таки требуется сложный дизайн иерархии классов-- это тоже ещё ничего не значит. О_О Я в джаве относительно новичок, у меня иерархия глубиной дай бог классов в 3 Имею в виду именно структурное взаимодействие. Понимаю о чем вы. Тяжело без крупных проектов и практики в общем втащить это понятие) ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 
  
  
   | 
| 
 14.11.2020, 01:05 
 | 
|||
|---|---|---|---|
Изолированные классы  | 
|||
| 
 #18+ 
  
    
  Эти многие пропозиции в JCP как и в комитетах С++ появляются не из космоса. Вся функциональщина (lambda, e.t.c.) была создана еще в середине 20-го века. И многие идеи которые кажутся новыми на самом деле уже много раз пережевывались в других языках и системах. Мне тут чем интересна отсылка к Scala. Книга 2013 года. Фича Sealed уже существовала. И я думаю интересно проследить ее генезис. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 
  
  
   | 
| 
 14.11.2020, 01:12 
 | 
|||
|---|---|---|---|
Изолированные классы  | 
|||
| 
 #18+ 
  
    
  Не ну вовремя чо, и 10 лет не прошло  По иронии судьбы сделали sealed в java когда в скале сделали им нормальную замену в виде енумов(единственное что было хуже в скале чем в джаве).Если честно не понимаю смысла совсем, учитывая что алгебраические типы данных вряд-ли взлетят, паттерн матчинг тоже кастрированный, да и реально в джаве крутые енумы, нафиг огород городить.. Goetz вроде умный мужик же, но все никак не поймет что нету особого смысла пытаться делать java более функциональной не убирая мутабельность. А мутабельность не ограничить из-за обратной совместимости. С опшионалом обосрались, стримы тоже такое себе.. единственное что лямбды сделали более менее, но и те из-за слабого inference корявенькие. Теперь вот обсер с паттерн матчингом и sealed. Хотя вот рекорды смотрятся ещё симпатично, если бы не невозможность добавлять методы и поля Короче джава медленно но верно превращается в винегрет возможностей, но в отличие от скалы без связующей парадигмы. Переходили б уже на Котлин что-ли и не мучали старушку джаву ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 
  
  
   | 
| 
 14.11.2020, 01:18 
 | 
|||
|---|---|---|---|
Изолированные классы  | 
|||
| 
 #18+ 
  
    
  Давайте придумаем софистический пример. Я вот только что придумал. (это в Scala) Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 
  
  
   | 
| 
 14.11.2020, 01:21 
 | 
|||
|---|---|---|---|
Изолированные классы  | 
|||
| 
 #18+ 
  
    
  Блин по теме то совсем забыл В общем, тебе как обычному джава программисту этот sealed не впился. Это скорее задел на будущее, видимо в дальнейшем будут пытаться протянуть алгебраические типы данных и typeclass паттерн. На данный момент вижу два более мене осмысленных применения sealed 1) Для особо упоротых это возможность дать понять JVM что вариантов реализации мало и компилятор может соптимизмровать на времени вызова подставив би- либо триморфный вызов вместо динамического диспатча. Ключевое слово упоротых 2) Если делаешь паттерн матчинг на объекте с типом интерфейса и не предоставляет ветку для какого-либо подкласса то компилятор сгенерирует ворнинг, мол лажа у тебя и этот подкласс никак не обрабатывается. Почему нельзя просто взять енум остаётся загадкой ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 
  
  
   | 
| 
 14.11.2020, 01:23 
 | 
|||
|---|---|---|---|
Изолированные классы  | 
|||
| 
 #18+ 
  
    
  mayton, И чем энум не устраивает? ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 
  
  
   | 
| 
 14.11.2020, 01:28 
 | 
|||
|---|---|---|---|
Изолированные классы  | 
|||
| 
 #18+ 
  
    
  забыл ник mayton, И чем энум не устраивает? Погоди. Дай закончу. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 
  
  
   | 
| 
 14.11.2020, 01:33 
 | 
|||
|---|---|---|---|
Изолированные классы  | 
|||
| 
 #18+ 
  
    
  Как-то так. 100% детерминизм матчинга. И этот матчинг в фазе компилляции уже проверен. В нем не будет новых и неизвестных классов и мы никогда не получим ошибку даункастинга к неизвестному новому наследнику. Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 
  
  
   | 
| 
 14.11.2020, 01:35 
 | 
|||
|---|---|---|---|
Изолированные классы  | 
|||
| 
 #18+ 
  
    
  И здесь не нужен полиморфизм. Оптимизирующий компиллятор (не Java а другой) может использовать широкий спектр подходов чтобы вообще его убрать. ООП приходит смерть. На арену выходит ФП. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 
  
  
   | 
| 
 14.11.2020, 01:37 
 | 
|||
|---|---|---|---|
Изолированные классы  | 
|||
| 
 #18+ 
  
    
  Хотя может я ошибаюсь. Может default case нужен. Но у нас -же пятница? не? ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 
  
  
   | 
| 
 14.11.2020, 01:37 
 | 
|||
|---|---|---|---|
Изолированные классы  | 
|||
| 
 #18+ 
  
    
  mayton, Так чем енам то не подходит? ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 
  
  
   | 
| 
 14.11.2020, 01:38 
 | 
|||
|---|---|---|---|
Изолированные классы  | 
|||
| 
 #18+ 
  
    
  Дружище я на самом деле не силен во всех фичах Scala. Давай я закину тебе еще идейку. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 
  
  
   | 
| 
 14.11.2020, 01:40 
 | 
|||
|---|---|---|---|
Изолированные классы  | 
|||
| 
 #18+ 
  
    
  Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 
  
  
   | 
| 
 14.11.2020, 01:40 
 | 
|||
|---|---|---|---|
Изолированные классы  | 
|||
| 
 #18+ 
  
    
  mayton Дружище я на самом деле не силен во всех фичах Scala. Давай я закину тебе еще идейку. Так мы про джаву же. Про скалу все и так понятно, в общих чертах ты правильно описал. Только вот эту трихомандию с sealed по историческим причинам сделали потому что не было нормальных енумов. А в скале 3 их наконец-то запили Ржачно конечно получается ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 
  
  
   | 
| 
 14.11.2020, 01:43 
 | 
|||
|---|---|---|---|
Изолированные классы  | 
|||
| 
 #18+ 
  
    
  mayton Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. Сильно сомневаюсь что джава версия паттерн матчинг а такое позволит. Именно про это я и веду речь, если поле message мутабельное это акций гемор ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 
  
  
   | 
| 
 14.11.2020, 01:49 
 | 
|||
|---|---|---|---|
Изолированные классы  | 
|||
| 
 #18+ 
  
    
  А я всем говорю - курите первоисточник. Всё что JCP предлагает - это вторичные пережованные идеи. Очень мало в программировании нового в наше время. Можно назвать новым применение глубоких нейросеток - но это мать ево НЕ программирование а математика. Там по настоящиму надо учиться. И не спринг с хибернейтом. Что вообще вы можете назвать новым? ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 
  
  
   | 
  | 

start [/forum/topic.php?fid=59&mobile=1&tid=2120616]:  | 
    0ms | 
get settings:  | 
    9ms | 
get forum list:  | 
    13ms | 
check forum access:  | 
    4ms | 
check topic access:  | 
    4ms | 
track hit:  | 
    53ms | 
get topic data:  | 
    11ms | 
get forum data:  | 
    2ms | 
get page messages:  | 
    54ms | 
get tp. blocked users:  | 
    1ms | 
| others: | 229ms | 
| total: | 380ms | 

    | 0 / 0 | 

На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даете согласие с использованием данных технологий.