《Java从小白到大牛》第14章:抽象类与接口

第14章:抽象类与接口

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

14.1 抽象类

Java语言提供了两种类:一种是具体类;另一种是抽象类。前面章节接触的类都是具体类。这一节介绍一下抽象类。

14.1.1 抽象类概念
在13.4.1节介绍多态时,使用过几何图形类示例,其中Figure(几何图形)类中有一个onDraw(绘图)方法,Figure有两个子类Ellipse(椭圆形)和Triangle(三角形),Ellipse和Triangle覆盖onDraw方法。
作为父类Figure(几何图形)并不知道在实际使用时有多少个子类,目前有椭圆形和三角形,那么不同的用户需求可能会有矩形或圆形等其他几何图形,而onDraw方法只有确定是哪一个子类后才能具体实现。Figure中的onDraw方法不能具体实现,所以只能是一个抽象方法。在Java中具有抽象方法的类称为“抽象类”,Figure是抽象类,其中的onDraw方法是抽象方法。如图14-1所示类图中Figure是抽象类,Ellipse和Triangle是Figure子类实现Figure的抽象方法onDraw。

你可能感兴趣的:(Java从小白到大牛,抽象类,java)