2013-12-07 3 views
0

Каждое диалоговое окно в SWT должно расширять класс Dialog, но у меня также есть свой класс View, который также должен распространяться на мои диалоги.Java SWT, расширяющий другой класс для Dialogs

OK, вы должны просто сделать свой View до extends Dialog, вы можете сказать. Но проблема в том, что мой View не должен этого делать, потому что он также используется для классов, которые не являются диалоговыми окнами SWT.

Есть ли способ преодолеть эту проблему?

+0

Вы думаете о реорганизации своих классов? Давайте скажем: введение «DialogView», которое расширяет «Dialog» – reto

+0

@reto, у меня было 2 AViewClasses: для диалогов SWT (расширяется диалог) и вид приложения SWT (ничего не продлевает). Но я решил присоединиться к ним, потому что у них 95% идентичный код, за исключением кондукторов и 1 метода. – ovnia

ответ

1
class ViewDialog extends Dialog { 
    View view; 
} 

class DialogView extends View { 
    Dialog diag; 
} 

Не все должно распространяться. Не все - еще один объект. Некоторые объекты имеют другие объекты. Диалоговое окно может иметь представление, которое оно отображает, или представление может иметь диалоговое окно, которое отображает его. Если что-то не имеет смысла, чтобы диалог также «был» содержимым, которое он отображает.

Смежные вопросы