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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 一切都好 中级黑马   /  2013-12-29 11:39  /  1624 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 一切都好 于 2013-12-29 16:11 编辑

同一个类中不能有完全一样的两个方法,但子类继承了父类就有了父类的所有成员,为什么子类中还可以写和父类中一样的方法呢?

评分

参与人数 1技术分 +1 收起 理由
陈福军 + 1

查看全部评分

5 个回复

倒序浏览
本帖最后由 许庭洲 于 2013-12-29 12:15 编辑

1. 如果所有的类都处在同一级别上,这种没有相互关系的平坦结构就会限制了系统面向对象的特性;
2. 继承的引入,就是在类之间建立一种相互关系,使得新定义的派生类的实例可以继承已有的基类的特征和能力,而且可以加入新的特性或者是修改已有的特性,建立起类的层次;
3. 继承是可以传递的。如果C从B中派生,B又从A中派生,那么C不仅继承了B中声明的成员,同样也继承了A中的成员。
4. 派生类如果定义了与继承而来的成员同名的新成员,就可以覆盖已继承的成员。
5. 例如:类Car继承了Vehicle的Speak()方法,那么可以给Car类也声明一个Speak()方法,覆盖Vehicle中的Speak。



评分

参与人数 1技术分 +1 收起 理由
陈福军 + 1

查看全部评分

回复 使用道具 举报
同一个类中是不能有相同的方法,这样就不能实现独立性,编译出现错误。而继承父类的方法,为了区分层次的结构性,是可以对方法进行重写,使其对自己进行独立性。

评分

参与人数 1技术分 +1 收起 理由
陈福军 + 1

查看全部评分

回复 使用道具 举报
类是根据生活来的,类的继承可以更清楚的用代码来实现生活,类和类之间可以通过继承来联系到一起,把它们联系到一起,就会有大家共有的的东西,比如人都有名字,年龄,还有做的某件事。而在子类中还可以写同名方法,是为了,更能体现出类的特性。

评分

参与人数 1技术分 +1 收起 理由
陈福军 + 1

查看全部评分

回复 使用道具 举报
1.可以用new覆盖父类方法
2.可以用override重写父类方法
回复 使用道具 举报
这就是多态啊~
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马