【2023】Kotlin教程 第二篇 面向对象与函数式编程 第12章 抽象类与接口 12.1 抽象类 12.1.1 抽象类概念

【2023】Kotlin教程

在这里插入图片描述

第二篇 面向对象与函数式编程

第12章 抽象类与接口

设计良好的软件系统应该具备“可复用性”和“可扩展性”,能够满足用户需求的不断变更。使用抽象类和接口是实现“可复用性”和“可扩展性”重要的设计手段。

12.1 抽象类

Kotlin语言提供了两种类:一种是具体类;另一种是抽象类。前面我们接触的类都是具体类。

12.1.1 抽象类概念

之前我们介绍多态时,使用过几何图形类示例,其中Figure(几何图形)类中有一个onDraw(绘图)函数,Figure有两个子类Ellipse(椭圆形)和Triangle(三角形),Ellipse和Triangle重写onDraw函数。

在这里插入图片描述

在这里插入图片描述

作为父类Figure(几何图形)并不知道在实际使用时有多少个子类,目前有椭圆形和三角形,那么不同的用户需求可能会有矩形或圆形等其他几何图形,而onDraw函数只有确定是哪一个子类后才能具体实现。Figure中的onDraw函数不能具体实现,所以只能是一个抽象函数。

在Kotlin中具有抽象函数的类称为“抽象类”,Figure是抽象类,其中的onDraw函数是抽象函数。如下图所示类图中Figure是抽象类,Ellipse和Triangle是Figure子类实现Figure的抽象函数onDraw。

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_44226181/article/details/130004303
今日推荐