1
來自java訪談的問題: 你必須設計一個系統,將管理3只鴨子: 第一個知道如何游泳和飛行,第二個知道游泳和打獵,第三個知道游泳,飛行和狩獵。描述UML類圖並解釋術語抽象類和接口。問題結束。 在我看來,我會用一個方法swim()創建一個「Duck」類,另外兩個類「flyingDuck」和「huntingDuck」將從「Duck」派生,並且將包含方法fly()和狩獵()分別。另外一個類將是「universalDuck」,它將從「huntingDuck」派生幷包含eat()方法。你怎麼看 ?這是一個很好的設計,還是最好用接口來做呢?如何設計一個合格的uml類圖?
http://programmers.stackexchange.com/questions/108240/why-are-interfaces-useful –