Draw on the right, write (Umple) model code on the left. Analyse models and generate code. This tool stores your data in cookies and on a server. I understand. Click to learn about privacy. Download Donate For help: User manual Ask questions Report issue
/* Example 1: showing how required interfaces in traits are defined and used. To see different diagram views in UmpleOnline: Use control-g for auto-layout (if not already showing) Use control-r to switch between trait view and plain classes resulting from applying traits Use control-m to show/hide methods */ interface I1{ void method1(); double method2(); } interface I2 { isA I1; Boolean method3(); } trait T1{ isA I1; Float method3(){/*implementation*/ } } trait T2{ isA I1; Float method4(){/*implementation*/ } } trait T3{ isA T1,T2; } class C3{ void method1(){/*implementation*/ } Double method2(){/*implementation*/ } } class C1{ isA C3, I1, T1; } class C2 { isA C3, I2, T3; Boolean method3(){/*implementation*/ } } // @@@skipcompile Java code not compilable