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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© hsx500 中级黑马   /  2015-5-11 08:47  /  1278 人查看  /  18 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

为什么要设计抽象类和接口啊??有什么意义呢?

18 个回复

倒序浏览
抽象类和一般类没有太大区别,只是比一般类多了抽象函数,该怎么进行描述就怎么描述,只不过该事物出现了一些看不懂的东西,这些不确定的部分也是该事物的功能,需要明确出现,但是无法定义内部主体,这时就通过抽象方法来表示。
特殊:抽象类中可以不定义抽象方法,这样做仅仅是不让该类建立对象。
接口就是内部方法全部都是抽象的,只是定义一个功能名称,子类根据需要复写自己的功能内容
回复 使用道具 举报
想要那片海 发表于 2015-5-11 08:52
抽象类和一般类没有太大区别,只是比一般类多了抽象函数,该怎么进行描述就怎么描述,只不过该事物出现了一 ...

亲,我问的是为什么要设计他们,不是问他们是什么啊~~
回复 使用道具 举报
hsx500 发表于 2015-5-11 09:05
亲,我问的是为什么要设计他们,不是问他们是什么啊~~

把不确定的共性功能抽取出来,这不是避免如果定义多个函数有可能出现的重名情况吗
回复 使用道具 举报
想要那片海 发表于 2015-5-11 09:07
把不确定的共性功能抽取出来,这不是避免如果定义多个函数有可能出现的重名情况吗 ...

为什么把公用性功能抽取出来,就能避免定义多个函数重名呢?
回复 使用道具 举报
呵呵,因为现实需要,解决java中不允许的多继承,增加扩展性,是多态的具体体现!
回复 使用道具 举报
hsx500 中级黑马 2015-5-11 10:49:40
7#
wkz_crystal 发表于 2015-5-11 10:43
呵呵,因为现实需要,解决java中不允许的多继承,增加扩展性,是多态的具体体现! ...

知道了~谢谢
回复 使用道具 举报

不用客气,共同交流,共同进步哈!加油!
回复 使用道具 举报
为了多态的实现。
回复 使用道具 举报
面向对象的程序设计三大特点就是封装、继承、多态,而这个抽象类和接口,就是为了有多态这个特性,使程序灵活性更强,在大学老师教的最简单的就是电脑的USB接口既可以插U盘 又可以连接鼠标,这就是一个接口,但是他能灵活的展现多种状态。
回复 使用道具 举报
简单的说就像现实中的各种插口,并不是不能直接把线接起来,而是为了方便。接口就像是先把需要的解决方式写好,你只要按照它去实现就好了,,,,,
回复 使用道具 举报
为了实现 多态
回复 使用道具 举报
符合面向对象程序设计思想,便于继承,封装和多态。这样更能便于后期的维护
回复 使用道具 举报
杨海林 发表于 2015-5-11 21:29
符合面向对象程序设计思想,便于继承,封装和多态。这样更能便于后期的维护 ...

知道了,多谢多谢~!
回复 使用道具 举报
接口是特别的抽象!实现接口必须重写方法!不然报错!继承抽象不是必须重写方法!不过不重写方法!那么继承的类还是抽象类!必须有抽象类的关键字!
我就知道这么多!
回复 使用道具 举报
!85684009ex 发表于 2015-5-14 09:10
接口是特别的抽象!实现接口必须重写方法!不然报错!继承抽象不是必须重写方法!不过不重写方法!那么继承 ...

楼上说的到位了,为了后期维护方便。。
回复 使用道具 举报
继承只能继承一个 但是可以实现很多接口
回复 使用道具 举报
接口是一种规范,里面有方法名,但是不提供解决方式。 抽象类严格来说也算是一种规范,里面的方法可以有具体实现,但是抽象方法必须要子类实现。
回复 使用道具 举报
hsx500 发表于 2015-5-14 09:11
楼上说的到位了,为了后期维护方便。。

多谢支持!
还有就是接口只能实现一个!不能实现多个!
继承可以继承多个类!至于抽象类好像也是可以不停的被继承!
一个继承了抽象的类!如果不实现!那么它也是抽象的!继承了它的类还是要重写这个类的方法!!如果不重写那么它还是抽象类!
到最后还是要有有一个子类重写父类~以及父类的父类的抽象方法!这样才能实例化!才能使用对象以及其方法!(抽象类不能被实例化)
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马