2015-03-02 1 views
4

Есть ли способ унаследовать/расширить интерфейсы в DSL DSinn?Dropbox Djinni - Наследование интерфейса

Например:

parent = interface +c { 
    parentMethod(); 
} 

child1 = interface +c { 
    childMethod1(); 
} 

child2 = interface +c { 
    childMethod2(); 
} 

Я хочу, чтобы наследовать child1 и child2 от parent.

ответ

6

В настоящее время на Djinni нет наследования интерфейсов. Дело не в том, что мы против этого (запросы на получение приветствуются!), А просто потому, что это не было необходимостью в разработке Dropbox. Вероятно, вы можете получить что-то близкое к тому, что вам нужно, с помощью некоторых явных методов. Например. добавьте метод asParentInterface() к вашим дочерним объектам. На слое C++ вы можете просто вернуть «этот» приведение к другому типу, и ваш объект impl будет наследоваться от базовых классов Djinni. На языках приложений вы увидите несколько различных прокси-объектов на одном и том же базовом объекте.