黑马程序员技术交流社区
标题:
视频中的子类与父类
[打印本页]
作者:
刘涛
时间:
2011-11-17 22:48
标题:
视频中的子类与父类
本帖最后由 刘涛 于 2011-11-28 18:12 编辑
子类与父类的关系 , 看了视频和代码,感觉这样定义子类和父类很不妥,
在我的理解子类里面的方法父类里面是肯定要具备的 ,
就比如说视频里面老师举的例子 人 工人 学生 , 人定义为父类 学生 和 工人定义为子类我认为
不是很妥 ,从后续的代码上显示 只要是父类 就必须包含多个子类的属性或者方法 ,
那么如果从代码上 ,这样理解的话 , 人就是 工人 学生 老师 饭桶 白痴 王八蛋 的子类 ,
而 工人 老师 学生 饭桶 白痴 就是人的父类 .....汗!!!~
作者:
清秋
时间:
2011-11-17 22:54
我看的有些晕。
定义父类子类。应该都是从设计的角度出发的
作者:
梦女孩
时间:
2011-11-17 22:56
在我的理解子类里面的方法父类里面是肯定要具备的
你这样是一代不如一代,如果所有子类的方法,父类都具备了,那么还要子类干什么,直接用父类得了。
作者:
张晨
时间:
2011-11-17 22:57
理解反了,抽象的人一般是父类,而具体的学生、老师、工人、白痴、饭桶是它的子类
作者:
刘永昌
时间:
2011-11-17 23:07
这位同学,你确定你对java继承有一定的认识了么?以下解说希望对你对继承的理解有所帮助
Java继承是使用已存在的类的定义作为基础建立新类的技术,新类的定义可以增加新的数据或新的功能,也可以用父类的功能,但不能选择性地继承父类。这种技术使得复用以前的代码非常容易,能够大大缩短开发周期,降低开发费用。比如可以先定义一个类叫车,车有以下属性:车体大小,颜色,方向盘,轮胎,而又由车这个类派生出轿车和卡车两个类,为轿车添加一个小后备箱,而为卡车添加一个大货箱。
JAVA不支持多重继承,单继承使JAVA的继承关系很简单,一个类只能有一个父类,易于管理程序,同时一个类可以实现多个接口,从而克服单继承的缺点。
在面向对象程序设计中运用继承原则,就是在每个由一般类和特殊类形成的一般—特殊结构中,把一般类的对象实例和所有特殊类的对象实例都共同具有的属性和操作一次性地在一般类中进行显式的定义,在特殊类中不再重复地定义一般类中已经定义的东西,但是在语义上,特殊类却自动地、隐含地拥有它的一般类(以及所有更上层的一般类)中定义的属性和操作。特殊类的对象拥有其一般类的全部或部分属性与方法,称作特殊类对一般类的继承。
继承所表达的就是一种对象类之间的相交关系,它使得某类对象可以继承另外一类对象的数据成员和成员方法。若类B继承类A,则属于B的对象便具有类A的全部或部分性质(数据属性)和功能(操作),我们称被继承的类A为基类、父类或超类,而称继承类B为A的派生类或子类。
继承避免了对一般类和特殊类之间共同特征进行的重复描述。同时,通过继承可以清晰地表达每一项共同特征所适应的概念范围——在一般类中定义的属性和操作适应于这个类本身以及它以下的每一层特殊类的全部对象。运用继承原则使得系统模型比较简练也比较清晰。
Java继承的特征
(1)继承关系是传递的。若类C继承类B,类B继承类A,则类C既有从类B那里继承下来的属性与方法,也有从类A那里继承下来的属性与方法,还可以有自己新定义的属性和方法。继承来的属性和方法尽管是隐式的,但仍是类C的属性和方法。继承是在一些比较一般的类的基础上构造、建立和扩充新类的最有效的手段。
(2)继承简化了人们对事物的认识和描述,能清晰体现相关类间的层次结构关系。
(3)继承提供了软件复用功能。若类B继承类A,那么建立类B时只需要再描述与基类(类A)不同的少量特征(数据成员和成员方法)即可。这种做法能减小代码和数据的冗余度,大大增加程序的重用性。
(4)继承通过增强一致性来减少模块间的接口和界面,大大增加了程序的易维护性。
(5)提供多重继承机制。从理论上说,一个类可以是多个一般类的特殊类,它可以从多个一般类中继承属性与方法,这便是多重继承。Java出于安全性和可靠性的考虑,仅支持单重继承,而通过使用接口机制来实现多重继承。
作者:
常文艺
时间:
2011-11-18 01:24
子类的共有特性主要是父类的内容,夫类主要是为了简化代码,共性写进夫类,特性写进子类,子类调用夫类的共性功能,记住这个就行了。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2