1.首先呢,我们要理解什么是多态。 多态呢指的是同一个方法调用,由于对象不同可能会有不同的行为。而且现实生活中,同一个方法,具体实现会完全不同。所以为了将不同对象的不同的具体行为表示出来。就可以采用多态的方法。具体的例子 比如:同样是调用人的“吃饭”方法,张三用的筷子,李四是用的勺子,王奎用的是手,数学教授是做数学题; 如果调用人“乘车”的方法,李四是乘坐火车出行,王奎自己开车出行,张三是乘坐飞机出行。
这就是多态。
2.多态的要点。
掌握好多态,要注意以下几个要点。
(1). 多态是方法的多态,不是属性的多态(多态与属性无关)。
(2). 多态的存在要有3个必要条件:继承,方法重写,父类引用指向子类对象。
(3). 父类引用指向子类对象后,用该父类引用调用子类重写的方法,此时多态就出现了。
注意好这几个要点才能更好的掌握好多态。而且多态的主要优势是提高了代码的可扩展性,符合开闭原则。但是多态也有弊端,就是无法调用子类特有的功能,比如,我不能使用父类的引用变量调用Dog类特有的seeDoor()方法。而且我们如果要想用子类的特有的方法就要使用杜对象的转型。