【2023】Kotlin教程
第二篇 面向对象与函数式编程
第12章 抽象类与接口
设计良好的软件系统应该具备“可复用性”和“可扩展性”,能够满足用户需求的不断变更。使用抽象类和接口是实现“可复用性”和“可扩展性”重要的设计手段。
12.2 使用接口
比抽象类更加抽象的是接口,接口中主要应该包含抽象函数和抽象属性,但是根据需要可以有具体函数和属性。
【提示】 接口和抽象类都可以有抽象函数和属性,也可以具体函数和属性。那么接口和抽象类有什么区别?接口不能维护一个对象状态,而抽象类可以,因为维护一个对象状态需要支持字段,而接口中无论是具体属性还是抽象属性,后面都没有支持字段。
12.2.1 接口概念
之前我们完成的那个抽象类Figure
其实它可以更加彻底地变为Figure 接口,虽然接口中可以有函数和属性,也有具体函数和属性,但接口不保存状态。