抽象类的目的/用途是什么?(寻找现实世界的例子.)

use*_*495 3 java oop inheritance abstract-class

有人可以给我看一下Java中抽象类的例子吗?具有真实世界应用程序(而不是教科书样本)的东西将是更可取的.

谢谢!

bak*_*kal 6

阅读本教程摘要方法和类.

首先,声明一个抽象类 GraphicObject,以提供所有子类完全共享的成员变量和方法 ,例如当前位置和moveTo方法.GraphicObject还声明 了方法的抽象方法,例如draw或resize,它们需要由所有子类实现,但必须以不同的方式实现.GraphicObject类看起来像这样:

abstract class GraphicObject {
    int x, y;
    ...
    void moveTo(int newX, int newY) {
        ...
    }
    abstract void draw();
    abstract void resize();
}
Run Code Online (Sandbox Code Playgroud)

GraphicObject的每个非抽象子类(如Circle和Rectangle)必须提供 draw和resize方法的实现:

class Circle extends GraphicObject {
    void draw() {
        ...
    }
    void resize() {
        ...
    }
}
class Rectangle extends GraphicObject {
    void draw() {
        ...
    }
    void resize() {
        ...
    }
}
Run Code Online (Sandbox Code Playgroud)