add 多态
update
delete print