面向对象 -- 多态

来源:互联网 发布:java 计算余弦相似度 编辑:程序博客网 时间:2024/05/18 03:00
比如有一个父类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,你需要改动的东西会少很多,要是使用了配置文件那就可以不
动源代码了。
原创粉丝点击