第一:类是对对象的抽象;抽象类是对类的抽象;接口是对行为的抽象。
第二:如果行为跨越不同类的对象,可使用接口;对于一些相似的类对象,用继承抽象类。
第三:从设计角度讲,抽象类是从子类中发现了公共的东西,泛化出父类,然后子类继承父类,而接口是根本不知子类的存在,方法如何实现还不确认,预先定义。(一般而言抽象类是通过重构而得来的,即从底往上抽象出来的,而接口是自顶向下设计出来的)
第一:类是对对象的抽象;抽象类是对类的抽象;接口是对行为的抽象。
第二:如果行为跨越不同类的对象,可使用接口;对于一些相似的类对象,用继承抽象类。
第三:从设计角度讲,抽象类是从子类中发现了公共的东西,泛化出父类,然后子类继承父类,而接口是根本不知子类的存在,方法如何实现还不确认,预先定义。(一般而言抽象类是通过重构而得来的,即从底往上抽象出来的,而接口是自顶向下设计出来的)