package Ġcom . q ing li any un . kotlin . class 4 Ċ Ċ import Ġjava . lang . IllegalArgumentException Ċ Ċ /** Ċ Ġ* ĠCreated Ġby Ġg zg Ġon Ġ 2 0 1 9 / 1 1 / 1 8 . Ċ Ġ* Ġfunction : Ġ éĿ¢ åĲĳ å¯¹è±¡ - æĬ½ è±¡ ç±» åĴĮ æİ¥åı£ Ċ Ġ*/ Ċ interface ĠInput Device Ġ{ ĊĠĠĠ Ġfun Ġinput ( event : ĠAny ) Ċ } Ċ Ċ interface ĠUSB Input Device Ġ: ĠInput Device Ċ Ċ interface ĠBLE Input Device Ġ: ĠInput Device Ċ Ċ class ĠUSB Mouse ( val Ġname : ĠString ) Ġ: ĠUSB Input Device , ĠOpt ical Device Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġinput ( event : ĠAny ) Ġ{ ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠtoString (): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġname ĊĠĠĠ Ġ} Ċ } Ċ Ċ interface ĠOpt ical Device Ċ Ċ class ĠComputer Ġ{ ĊĠĠĠ Ġfun Ġadd USB Input Device ( input Device : ĠUSB Input Device ) Ġ{ ĊĠĠĠĠĠĠĠ Ġprintln (" use Ġusb Ġinput Ġdevice Ġ$ input Device ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġadd BLE Input Device ( input Device : ĠBLE Input Device ) Ġ{ ĊĠĠĠĠĠĠĠ Ġprint (" use Ġble Ġinput Ġdevice Ġ$ input Device ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġadd Input Device ( input Device : ĠInput Device ) Ġ{ ĊĠĠĠĠĠĠĠ Ġwhen Ġ( input Device ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠUSB Input Device Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd USB Input Device ( input Device ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠBLE Input Device Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd BLE Input Device ( input Device ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠIllegalArgumentException (" è¾ĵåħ¥ çļĦåıĤæķ° ç±»åŀĭ ä¸į æĶ¯æĮģ ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ fun Ġmain ( args : ĠArray < String >) Ġ{ ĊĊĠĠĠ Ġval Ġcomputer Ġ= ĠComputer () ĊĠĠĠ Ġval Ġuse USB Mouse Ġ= ĠUSB Mouse (" éĢ»è¾ĳ çļĦ é¼ ł æłĩ ") ĊĠĠĠ Ġcomputer . add USB Input Device ( use USB Mouse ) Ċ }