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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© feier 中级黑马   /  2015-5-28 21:26  /  5019 人查看  /  12 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

1、 类别(category)和继承的区别?
*类别:类别是对一个功能完备的类的一种补充,就像是一个东西的主要基本功能都完成了,可以用类别为这个类添加不同的组件,使得这个类能够适应不同情况的需求。比如animal这个类,具有eat和run等方法,想给这个类添加一个bark的方法,可以用类别。

*继承:多个类具有相同的实例变量和方法时,考虑用继承。即子类可以继承父类的相同特性。如animal具有年龄和体重两个属性,dog也具有年龄和体重两 个属性,dog可以继承animal的这两个属性,即为继承。

共同点:都是给一个类进行扩展

区别:1.类别是对方法的扩展,不能添加成员变量。继承可以在原来父类的成员变量的基础上,添加新的成员变量
      2.类别只能添加新的方法,不能修改和删除原来的方法。继承可以增加、修改和删除方法。
      3.类别不提倡对原有的方法进行重载。继承可以通过使用super对原来方法进行重载。
      4.类别可以被继承,如果一个父类中定义了类别,那么其子类中也会继承此类别。

评分

参与人数 1黑马币 +2 收起 理由
chingwei2011 + 2 很给力!

查看全部评分

12 个回复

倒序浏览
MTT 来自手机 中级黑马 2015-5-29 08:35:17
沙发
谢谢分享来自: iPhone客户端
回复 使用道具 举报
总结的不错
回复 使用道具 举报

总结的不错
回复 使用道具 举报
谢谢楼主,今天看书,刚好没怎么看懂,感觉楼主总结的不错.
回复 使用道具 举报
一直有一个问题,比如Person - Student -Goodstudent
这种连续的继承
那么 Goodstudent 想调用Person的方法,岂不是要super super..?
回复 使用道具 举报
gamyc 中级黑马 2015-5-30 18:16:13
7#
总结的好,多多学习了
回复 使用道具 举报
总结的不错!
回复 使用道具 举报
学习了.说的很好
回复 使用道具 举报
还有一点:类别不会产生新的对象,而继承产生了新的对象
回复 使用道具 举报
总结的不错,学习了
回复 使用道具 举报
学习啦,加油!
回复 使用道具 举报
学习了.
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马