学了这么久了,我对这个abstract概念还不怎么清楚..郁闷中!
当我碰到一个abstract的方法时,我不明白这个方法为什么要定义成这样,这样有什么好处,为什么要这样定义...
望在这方面理解的人,分享一下你意见..
网友回复: 这是设计思想方面的问题
简单的理解就是为了更好的实现多态
网友回复: 等你做项目的时候 就理解了
网友回复: abstract修饰的方法,是让他的子类实现的,自身不做实现。这样就似乎定义了一个模版,你也可以把它想象为
一道填空题。比如你在做一个银行系统的时候,要你写一个算利息的程序。而对于利息(本金*利率)中利率的值,根据存款年限的不同,资金的不同,存款方式的不同,利率就不同,所以你没办法,写一个具体的方法来算利率。所以你只能定义一个抽象方法来表示利率,而自身不去实现。根据不同的情况,在子类中实现你的抽象方法,算出利率。
网友回复: 那什么时候用interface什么时候用abstract呢?
网友回复: 现在建议提倡用interface代替abstract类,两者从理论上可以做一般性的混用,但是在实际应用中,他们还是有一定区别的。抽象类一般作为公共的父类为子类的扩展提供基础,这里的扩展包括了属性上和行为上的。而接口一般来说不考虑属性,只考虑方法,使得子类可以自由的填补或者扩展接口所定义的方法.假如你不需要刻意表达属性上的继续的话,提倡用接口。
网友回复: 继续往下看,看到interface时比较一下
还是不清楚再往下看
书看完以后再回头看
可能会有些头续了
abstract, interface, inner classs是有些麻烦的
网友回复: lz在此谢谢你们啦...