Как правило, JavaScripters отвергают Java-измы как интерфейсы. В конце концов, полезность интерфейсов заключается в том, что они проверяют, «объекты крякают, как утка» во время компиляции, а JavaScript не является компилируемым языком. CoffeeScript есть, но такие вещи, как применение интерфейсов, выходят далеко за его рамки. Более строгий язык компиляции для JS, такой как Dart, может оказаться более подходящим для вас.
С другой стороны, если вы хотите сделать featurex
и featurey
как mixins , это то, что довольно распространено и легко сделать в CoffeeScript-land. Возможно, вы захотите взглянуть на главу классов в Маленькая книга по CoffeeScript, , в которой показано, как легко это сделать: просто определите featurex
как объект, методы которого Вы добавляете к прототипу childa
.