A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 许庭洲 黑马帝   /  2012-5-16 13:17  /  3001 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

请求高手解答override与重载的区别

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

6 个回复

倒序浏览
重载是两个方法具有相同的名称但是他们的参数列表不一样。而override就是覆盖  覆盖就是在子类里边 你所定义的方法必须和父类的方法、参数相同,就是说完全一样并且返回值也一样。我想着就是他们的区别吧!

点评

谢谢!  发表于 2012-5-17 20:54

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
重载就是方法的参数不一样,说到底,就是不同的方法之间是没有关联的,调用时根据参数类型和个数的不同决定调用方法
override是对原方法进行了覆盖,也就是重新定义,一般用于虚函数和抽象函数中,在调用方法时,根据具体的类中的方法进行调用即可

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
重载可以理解为同样的方法名,不同的参数个数,引起方法不同的操作。(参数个数不能相同)
override是对父类方法的重新定义,override定的什么操作就是什么操作,跟原先的定义没有什么关系。(参数个数可以相同)

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
重载应该叫overload,重写叫override   
  重载是指 方法名相同 方法参数的个数与类型不同  
  重写是在子类中重写父类中的方法 要和父类一致包括参数

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
重载是overload
重写是override
重载(overload) : 发生在一个类中, 函数名相同, 参数大小与类型不同
重写(override) :发生在 子类与父类 , 子类重写父类的方法

评分

参与人数 1技术分 +1 收起 理由
郑文 + 1

查看全部评分

回复 使用道具 举报
余宏 中级黑马 2012-5-22 19:44:57
7#
本质的区别就是看函数特征,Override的两个函数的函数特征相同,重载的两个函数的函数名虽然相同,但函数特征不同。
override是用于重写基类的虚方法,这样在派生类中提供一个新的方法,而重载是提供了一种机制, 相同函数名通过不同的返回值类型以及参数来表来区分的机制

评分

参与人数 1技术分 +1 收起 理由
郑文 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马