阅读 161

接口和抽象类

接口是比抽象类更加抽象的抽象,接口的本质是契约,抽象类支持了代码复用

普通类:只有具体实现

抽象类:具体实现+规范(抽象方法)

接口:只有规范。好处是约束和实现分离

 

接口和抽象类的区别:

  1. 实现接口必须重写接口中的所有方法;继承抽象类可以重写(抽象)方法,也可以继续保持(抽象)。

  2. 抽象类只能单继承;implements可以实现多个接口。

  3. 设计目的:

    接口的设计目的是对类的行为进行约束,也就是提供一种机制,可以强制要求不同的类具有相同的行为。它只约束了行为的有无,但不对如何实现行为进行限制。

    抽象类的设计目的是代码复用。当不同的类具有某些相同的行为(方法),且其中一部分行为的实现方式一致时,可以让这些类都派生于一个抽象类。在这个抽象类中实现这些行为,避免让所有子类实现相同的行为,这就达到了代码复用的目的。抽象的行为则留给各个子类自己实现(它们的实现方式不同)。因为抽象的行为没有实现,所以抽象类不允许实例化。


文章分类
后端
文章标签
版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 XXXXXXo@163.com 举报,一经查实,本站将立刻删除。
相关推荐