做项目时,为了做出通用的编程,往往需要面向抽象编程,面向接口编程,那么什么时候使用抽象类,什么时候使用接口呢?

抽象类主要适用于关系密切的对象,接口适合为不相关的类提供通用功能。

抽象类与接口区别:

1. 接口定义类的公共行为,抽象类定义类的公共实现;

2. 一个类只能继承自一个类(抽象类),但是可以同时实现多个接口;

3.接口中不能有实现,但抽象类中可以有未实现的成员,也可以有实现的成员;

4.接口中未实现的方法必须在实现类中实现,抽象类中未实现成员必须在子类中重写;

 

例如:

1.鸽子会飞,F22飞机会飞,他们都实现了同一个接口“飞”,但F22飞机属于飞机抽象类,鸽子属于鸟抽象类;

2.就像铁门木门都是门(抽象类),你想要个门我给不了(不能实例化),但我可以给你个具体的铁门或木门(多态);

一个门可以有锁(接口)也可以有门铃。门(抽象类)定义了你是什么,接口(锁)规定了你能做什么(一个接口最好只能做一件事,你不能要求锁也能发出声音吧(接口污染))
 

 

posted on 2013-03-21 11:45  chay  阅读(282)  评论(0编辑  收藏  举报