по сравнению с другими языками.
                  
                  
                  
                  
                  
                  Думаю можно использовать альтернативу на sealed classes и f-bounded polymorphism и ничего не потерять:
                  
                  
                  
                  
                  
                  
                  
                  
                  sealed class Request<T : Request<T>>
                  
                  
                  class CaseA(val param1: Any = Any()) : Request<CaseA>()
                  
                  
                  class CaseB(val param2: Any = Any()) : Request<CaseB>()
                  
                  
                  
                  
                  
                  interface Processable<T : Request<T>> {
                  
                  
                      fun process(request: T)
                  
                  
                  }
                  
                  
                  
                  
                  
                  class CaseAProcessing : Processable<CaseA> {
                  
                  
                      override fun process(request: CaseA) {
                  
                  
                          request.param1
                  
                  
                      }
                  
                  
                  }
                  
                  
                  
                  
                  
                  class CaseBProcessing : Processable<CaseB> {
                  
                  
                      override fun process(request: CaseB) {
                  
                  
                          request.param2
                  
                  
                      }
                  
                  
                  }
                  
                  
                  
                  
                  
                  val test = CaseAProcessing().process(CaseA())
                  
                  
                
Ой, зачем эти страшные костыли? Это ж не Джава, всё-таки.
Обсуждают сегодня