重载,继承,重写和多态的区别
继承是子类获得父类的成员
重写是继承后重新实现父类的方法。
重载是在一个类里一系列参数不同名字相同的方法。
多态则是为了避免在父类里大量重载引起代码臃肿且难于维护。
继承是子类使用父类的方法,而多态则是父类使用子类的方法。
多态:
比如有一个父类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,你需要改动的东西会少很多,要是使用了配置文件那就可以不动源代码了。