9.抽象类和接口的区别

语法层次:

抽象类和接口分别给出了不同的语法定义

设计层次:

抽象层次不同,抽象类是对类抽象,而接口是对行为的抽象。抽象类是对整个类整体进行抽象,包括属性、行为,但是接口却是对类局部(行为)进行抽象。

跨域不同,抽象类所体现的是一种继承关系,要想使得继承关系合理,父类和派生类之间必须存在"is-a" 关系,即父类和派生类在概念本质上应该是相同的。对于接口则不然,并不要求接口的实现者和接口定义在概念本质上是一致的,仅仅是实现了接口定义的契约而已,"like-a"的关系。。

设计层次不同,抽象类是自底向上抽象而来的,接口是自顶向下设计出来的。

你可能感兴趣的:(9.抽象类和接口的区别)