面向对象 -- 多态

比如有一个父类superClass,它有2个子类subClass1,subClass2。superClass有一个方法

func(),两个子类都重写了这个方法。那么我们可以定义一个superClass的引用obj,让它
指向一个子类的对象,比如superClass obj = new subClass1();那么我们调用obj.func()
方法时候,会进行动态绑定,也就是obj它的实际类型的func()方法,即subClass1的
func()方法。同样你写superClass obj = new subClass2();obj.func()其实调用的是
subClass2的func()方法。这种由于子类重写父类方法,然后用父类引用指向子类对象,
调用方法时候会进行动态绑定,这就是多态。多态对程序的扩展具有非常大的作用,比如
你要再有一个subClass3,你需要改动的东西会少很多,要是使用了配置文件那就可以不
动源代码了。

你可能感兴趣的:(面向对象 -- 多态)