链接:https://www.cnblogs.com/wjf0/p/8098123.html 多态实现:https://blog.csdn.net/wenyuan65/article/details/81145900