第七天
多态的概念与用法,这是面向对象编程里一个很重要的设计思想。多态指的是同一种类型的对象在不同情境下会表现出不同的行为形态,就像一个接口有多种实现方式。它的主要表现形式是“父类类型 对象名 = 子类对象”的向上转型,这让代码更灵活,也更容易维护。
要实现多态,必须满足三个前提条件:一是存在继承关系,二是父类引用指向子类对象,三是子类对父类的方法进行了重写。在调用成员时,成员变量无论是编译还是运行都会看父类,而成员方法则是编译时看父类、运行时看子类,这就是“编译看左边、运行看右边”的特点。
多态的优势很明显,它能有效降低代码的耦合度,让系统更易扩展和维护。比如,当父类作为方法参数时,可以接收所有子类对象,这大大提升了代码的复用性和灵活性。不过,它也有缺点,就是父类引用无法直接调用子类的特有方法。解决这个问题的办法是使用 instanceof 关键字先判断对象的实际类型,再进行强制转型,这样就能调用子类特有的功能了。