抽象类和抽象方法很模糊,希望高人指点.. 为什么要用抽象类和抽象方法,特别是抽象方法,为什么抽象方法在抽象类中没有实现,而在子类中去实现,我觉得是多此一举,在子类中直接定义不就完了? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 既然认为世界是由对象组成的,那么那些实际抽象的东西当然也是对象,只不过它们是概念,无法实现,所以相应的有个抽象类来对应,我觉得还是很正常的逻辑吧。至于抽象方法还是有作用的,从设计的角度看,它很明确的告诉它的子类需要必须做什么事,这样也是一种约束,就好像你的程序只允许别人输入一定大小的值,否则就抛出customException一样。从代码编写角度,它让在代码中处理同一类不同代对象时更好操作。 抽象类的作用:1.首先可以有效地控制类结构的复杂程度,避免类结构的臃肿,一般情况下,树型结构的类图要比网状结构的类图层次分明。从代数系统的观念出发,有抽象类的类层次结构是一种接近完美的功能集合的划分。2.抽象类能够提供一个统一的接口。接口这种概念是实现许多优秀设计的关键,一个父类的指针或者说是引用可以指向任何子类的对象,这种访问兼容性对于代码的优雅性至关重要。3.对于面向对象的分析和设计而言,一开始着手就考虑细节是不应该的。抽象方法的对于分析和设计重要意义在于:你可以事先声明方法,并赋予其含义,然后可以考虑各个方法的关系。抽象类能够使你的程序具有更高程度的抽象性。抽象类的存在使得你只要写1次应用,而不需要单独对你的10个子类都写一遍应用。4.还有很多,你可以看一下<<设计模式>>,并且动手写一些高度抽象的程序,你将明白抽象类的真谛 深度优先搜索二维数组 java基础,有一句句话理解不了。。。帮忙看看 【java】 java.lang.Class声明的对象? 请教int,byte,char三种数据类型的区别 今天碰到个问题。。求助 一个关于多线程的初级问题 小弟 参照java.sun.com上的步骤做divelog时,在编译时出错了,大家帮忙啊 怎么使jbuilder的编译加上参数 -target 1.1 请教 如何利用多线程实现Socket和SocketServer的通话? 视频教程--毕业设计 想深入学习JAVA EE,请教?
至于抽象方法还是有作用的,从设计的角度看,它很明确的告诉它的子类需要必须做什么事,这样也是一种约束,就好像你的程序只允许别人输入一定大小的值,否则就抛出customException一样。从代码编写角度,它让在代码中处理同一类不同代对象时更好操作。
1.首先可以有效地控制类结构的复杂程度,避免类结构的臃肿,一般情况下,树型结构的类图要比网状结构的类图层次分明。从代数系统的观念出发,有抽象类的类层次结构是一种接近完美的功能集合的划分。
2.抽象类能够提供一个统一的接口。接口这种概念是实现许多优秀设计的关键,一个父类的指针或者说是引用可以指向任何子类的对象,这种访问兼容性对于代码的优雅性至关重要。
3.对于面向对象的分析和设计而言,一开始着手就考虑细节是不应该的。抽象方法的对于分析和设计重要意义在于:你可以事先声明方法,并赋予其含义,然后可以考虑各个方法的关系。抽象类能够使你的程序具有更高程度的抽象性。抽象类的存在使得你只要写1次应用,而不需要单独对你的10个子类都写一遍应用。
4.还有很多,你可以看一下<<设计模式>>,并且动手写一些高度抽象的程序,你将明白抽象类的真谛