黑马程序员技术交流社区

标题: 抽象类 [打印本页]

作者: 宋大人-专注    时间: 2014-5-25 11:10
标题: 抽象类
本帖最后由 宋大人-专注 于 2014-6-2 22:21 编辑

抽象类一般类相比的优越性什么?不明白它存在的必要性,
作者: hamiguadjs    时间: 2014-5-25 11:24
提高了代码的复用性
作者: 侯金龙    时间: 2014-5-25 20:35
抽象类就像当和尚,你想当和尚就得剃头念经。子类实现了抽象方法就相当于剃了头,念了经,抽象方法没有内容就相当于,不限制你怎么剃的头,不限制你念经念的对于错,但是必须剃头念经
作者: 侯金龙    时间: 2014-5-25 20:36
本帖最后由 侯金龙 于 2014-5-25 20:41 编辑

比喻也许不恰当,别介意
作者: shi980088    时间: 2014-5-25 20:48
提高代码的复用性,让代码和代码之间有关联
作者: 凌羽猎风    时间: 2014-5-25 21:02
为了提高代码的复用性   不用重复写相同的内容
作者: l939    时间: 2014-5-25 21:10
抽象类的好处在我看来,是一种限定规则,比如,每个人都有爱好,但每个人的爱好多少都有所不同,也就是说不确定,那么,就提取出爱好这个不确定的事物进行描述,并将爱好封装成一个抽象的方法,将其抽象化。当一个子类去继承它的时候,如果想要去创建一个实例化的对象,那么就必须得将抽象化的爱好就行描述,并写入自己特有的爱好内容,否则的话,依然是一个抽象的事物。简单的来说,抽象类里封装的是某类对象共性但却不确定的内容,需要这类对象自己去进行描述。不描述,则表示你并不是属于这一类,因为缺少抽象里定义的属性的具体描述
作者: l939    时间: 2014-5-25 21:12
和一般类区别不是太大,只不过就是,如果我将爱好定义在一般类中的时候,我可以不用去描述爱好,而抽象的爱好则必须去描述
作者: 飘渺≮★耘    时间: 2014-5-25 21:18
抽象类是抽取多个子类的共性,声明共有属性,编写共有的方法,来增加代码的重用度
作者: 相濡、彼岸    时间: 2014-5-26 19:14
为了防止建立对象!
作者: 宋大人-专注    时间: 2014-5-27 08:54
l939 发表于 2014-5-25 21:10
抽象类的好处在我看来,是一种限定规则,比如,每个人都有爱好,但每个人的爱好多少都有所不同,也就是说不 ...

我现在的初步认识也是认为它是一种限定规则,但是还不是十分明确
作者: More    时间: 2014-5-27 19:20
顾名思义  他是抽象的   就像你说一个美女 这就是抽象类   可以有身高,体重  肤色等方法,不过好像工作初期我们用不到这个
作者: 王江涛    时间: 2014-5-27 20:49
我认为抽象类的好处是把子类都具有但是内容不同的的功能抽想为规则,比如黑马程序员的学员都有学习功能,但其学习内容不一样,所以我们在定义父类时要定义一个抽象的学习方法,也就是规则,而子类要实现这个规则定义自己的具体方法。
作者: 尘埃落定    时间: 2014-5-27 22:30
弄明白这个问题你必须清楚抽象类和一般类的区别。抽象类有成员变量和成员方法,但是方法没有方法体。普通类有成员变量和成员方法,且成员方法具有方法体。其实抽象类就是某几个类对象的共性的一个集合,或者称为这几个普通类的缩影。这个几个类可以继承此抽象类,使用此抽象类的成员变量,重写此抽象类的成员方法。归结一点:提高代码的复用性。
作者: l939    时间: 2014-5-28 16:27
标题: RE: 抽象类
宋大人-专注 发表于 2014-5-27 08:54
我现在的初步认识也是认为它是一种限定规则,但是还不是十分明确

这样说吧,人有做作业的行为,学生是必须做作业的,普通类的话,学生可以不去实现做作业这个行为,也就是不去描述自己如何完成作业的,而抽象类的话,学生就必须去实现这个做作业的方法,并写入自己做作业的具体行为




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2