Понимание черт в Котлине

В Kotlin у нас будет возможность создать «признак, который может потребовать расширения класса на стороне вызова», например

 class Bar {}
 trait T1 : Bar {}
 class Foo : Bar, T1, T2, T3 {}
 class Wrong : T1, T2 //error: Wrong should extend Bar

Я не могу представить какой-либо поток, где я могу применить эту структуру. Кто-нибудь может сказать мне, зачем нам это нужно?

8
задан Stan Kurilin 10 December 2011 в 15:19
поделиться