add 多态