抽象类和接口在什么情况下使用

第一次接触到这个问题,嘿嘿 还真是没有想过该真么回答,这个当然要根据你自己项目中的需求来定义了。这是我第一次回答的。但是回过头来想想,回答的真shit,这不根本跟没说一样么?对吧所以..不甘心,就仔细分析了一个抽象类和接口的区别,这样,就有一点点的小感悟...

   首先,先把抽象类和接口的区别简单说一下,最明显的就是,抽象类中可以有实现的方法体,接口中全部都要是抽象的方法,第二点就是,抽象类是支持单继承的,也就是子类继承抽象类,接口则不一样。换句话说,一个类可以实现很多个接口,但是只能继承一个抽象类。

   由上面简单的分析,得出:

                      抽象类是用来被继承,也就是说,要继承它的子类和抽象类有密切的关系。打个比方,有这样的需求,要求人,毛,老虎等,里面都有叫这个功能,这时候,我感觉就应该要用抽象类了,定义一个动物抽象类,里面有抽象方法say,让他们这几个类都分别继承它,实现功能。这时候用接口也可以,但是,接口更偏向于是一个方法的集合,它的主要就是用在,多数不同对象间的方法使用,如果你的需求是任何一个对象,不管跟这个接口有没有被包含的关系都可以实现,那么这时候就要使用接口了。哎。。。。关系真的很微妙啊,对,因为接口其实就是抽象类,要说他和抽象类什么时候用,这个。。。嘿嘿 要静下心来好好理解一个。这里简单说了一下,欢迎技术交流。。。

posted @ 2012-11-26 10:24  闭眼  阅读(141)  评论(0编辑  收藏  举报