Dropbox Djinni - 接口继承

Ben*_*nny 4 cross-platform dropbox djinni

有没有办法在Djinni的DSL中继承/扩展接口?

例如:

parent = interface +c {
  parentMethod();
}

child1 = interface +c {
  childMethod1();
}

child2 = interface +c {
  childMethod2();
}
Run Code Online (Sandbox Code Playgroud)

我要继承child1child2距离parent.

atw*_*man 6

Djinni目前没有接口继承.这不是因为我们反对它(欢迎拉请求!),而仅仅是因为Dropbox的开发并不需要它.您可以通过一些显式方法获得您所需要的东西.例如,在子对象中添加asParentInterface()方法.在C++层,您可以选择将"this"强制转换为另一种类型,并且您的impl对象将从Djinni基类中继承.在应用程序语言中,您会在同一个底层对象上看到多个不同的代理对象.