package shape; import javafx.geometry.Point2D; import javafx.scene.canvas.GraphicsContext; import java.util.ArrayList; import java.util.List; public abstract class AbstractShape implements Shape { protected List<Point2D> points = new ArrayList<>(); public void addPoints(Point2D... points) { for (Point2D point : points) { this.points.add(point); } } @Override public int pointsCount() { return points.size(); } @Override public Point2D point(int index) { return points.get(index); } @Override public abstract void draw(GraphicsContext graphicsContext); }