From a0ff5b3b9a304282a63e20f75ceb9dcd93189c3e Mon Sep 17 00:00:00 2001 From: m23000189 <stella.bouchal@etu.univ-amu.fr> Date: Fri, 27 Sep 2024 11:08:39 +0200 Subject: [PATCH] classe AbstractShape --- src/main/java/shape/AbstractShape.java | 34 +++++++++++++++++++++++++- 1 file changed, 33 insertions(+), 1 deletion(-) diff --git a/src/main/java/shape/AbstractShape.java b/src/main/java/shape/AbstractShape.java index fdf5a6d..91f193f 100644 --- a/src/main/java/shape/AbstractShape.java +++ b/src/main/java/shape/AbstractShape.java @@ -1,4 +1,36 @@ package shape; -public class AbstractShape { +import java.awt.*; +import java.util.ArrayList; +import java.util.List; +import javafx.geometry.Point2D; +import javafx.scene.canvas.GraphicsContext; + +public abstract class AbstractShape implements Shape { + private List<Point2D>points; + + public AbstractShape(){ + points = new ArrayList<>(); + } + public void addPoint(Point2D... points){ + for(Point2D point : points){ + this.points.add(point); + } + } + + public int pointsCount(){ + return points.size(); + } + + public Point2D getPoint(int index){ + if(index < 0 || index >= points.size()){ + throw new IndexOutOfBoundsException("index out of bounds"); + } + return points.get(index); + } + + public abstract void draw(GraphicsContext graphicsContent); + + + } -- GitLab