黑马程序员技术交流社区

标题: 有个问题不懂,想请教一下 [打印本页]

作者: 硫氢化铁    时间: 2015-3-7 16:13
标题: 有个问题不懂,想请教一下
看毕老师的视频说抽象类里面可以不定义抽象方法,其目的是不让该类建立对象,我不明白的是,如果都不让定义抽象方法了,那么该类怎么能叫做抽象类呢,麻烦大家给解释一下这句话的意思,多谢

作者: 艺多不压身丶    时间: 2015-3-7 16:17
其实,抽象类和一般类没有太大的区别,都是在描述事物,只不过抽象类在描述事物时,有些功能不具体。所以抽象类和一般类在定义上,都是需要定义属性和行为的。只不过,比一般类多了一个抽象函数。而且比一般类少了一个创建对象的部分。
作者: 硫氢化铁    时间: 2015-3-7 16:24
艺多不压身丶 发表于 2015-3-7 16:17
其实,抽象类和一般类没有太大的区别,都是在描述事物,只不过抽象类在描述事物时,有些功能不具体。所以抽 ...

这个我理解,可是抽象类的特殊之处就在于他有一个抽象函数,如果没有这个抽象方法,那不就和一般类一样了吗,那就不应该叫做抽象类吧,我是这块没理解
作者: 杨强彪    时间: 2015-3-7 17:00
1、抽象方法实际上可以理解为是一种虚方法,可以被重载,不同之处是抽象方法必须被子类重载,而虚方法可以被重载,也可以不被重载,意思就是说抽象方法是基类设计者认为该类必须实现的功能,例如设计一个人的类时,吃饭就必须被重载,因为如果不吃饭人就会死,但是可能有人吃米饭,有人吃馒头; 2、delphi中除了虚方法还有一种称之为动态方法的方法,印象里好像跟虚方法类似,只是一个先绑定还是候绑定的问题。
作者: z47057554    时间: 2015-3-8 05:26
本帖最后由 z47057554 于 2015-3-8 05:28 编辑


作者: 硫氢化铁    时间: 2015-3-8 07:42
z47057554 发表于 2015-3-8 05:26

谢了啊,这么早就在研究Java啊
作者: 白春秋    时间: 2015-3-8 09:18
抽象类中可以不定义抽象方法这句话应该是这样的:抽象类中可以没有抽象方法,记得只有一个特例接口,没有定义任何内容,仅仅是为了提供功能扩展的接口




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