因为软件需要不定期的增加鸭子，这样我们就要被迫检查并可能需要覆盖fly()和quark(),这简直就是无穷无尽的噩梦