多态的含义
多态,顾名思义,就是“多种状态”,是一种事物的多种形态,同一符号或者明知在不同情况下具有不同解释的现象。例如洗这个动作,你可以洗手,洗衣服,洗澡等等,在不同对象和场景下,所变现出来的含义是不一样的。
多态的作用
多态可以提高扩展性,利于软件的维护,总的一句话就是敲打的代码变的很少,此处举个例子更能形象出多态作用:
定义一个主人类,主人养了很多宠物,需要给宠物喂食,狗狗吃狗粮,企鹅吃鱼
如果主人继续领养宠物A,代码将要如何修改?
1添加宠物A类,继承宠物父类,实现宠物A的eat()方法
2修改Master类,添加feed()方法
代码频繁修改,可扩展性、可维护性差。
如果定义宠物Per()类为抽象类,Master类实现feed()方法,参数的类型为宠物的父类,会减少大量的代码
多态的实现方式
- 接口实现多态
- 抽象类实现多态
- 虚方法实现多态