多态与重载的区别
例子:我们定义了一个动物类,动物都有一个共同的行为就是呼吸,那么把呼吸定义在父类中(这很好理解)。 比如基于上述类我们开发一个展示动物呼吸的程序,调用该方法时,可以传入任何子类的对象。定义了几百种动物并实现了每种动物的breathe方法,使用者通过鼠标点击决定看哪一种动物的呼吸方式。
设计时考虑到,使用者并不是每次都想看完这几百种动物的呼吸,所以我们没有必要预先产生各种动物的对象,而只要在使用者点了某种动物后使用new操作符动态创建该对象即可,这样可以简化程序设计和节省内存空间。
多态是建立在重写的基础之上的,是类与类之间的关系,是发生在不同的类之间的,子类重写父类的方法。实现不同的子类,不同的实现形态。而重载是类的内部的方法构型上的不同,是发生在同一个类里面的。同一个函数名称,参数不同的多个方法,实现同一类型的功能。
面向对象(6)
博客主要介绍Java中多态与重载的区别。以动物类呼吸方法为例,说明多态基于重写,是类间关系,不同子类有不同实现;重载是类内部方法构型不同,同一函数名、不同参数实现同一类型功能,还提及动态创建对象可简化设计和节省内存。

被折叠的 条评论
为什么被折叠?



