From 5b02edef2c95f7c3a360f87de42d5cc24d11ce9f Mon Sep 17 00:00:00 2001
From: Alexandre
 <alexandre.maintier.etu@epicea14.iut-infobio.priv.univ-lille1.fr>
Date: Mon, 5 May 2025 15:24:26 +0200
Subject: [PATCH] tpOO-08::exo-miseEnRayon

---
 src/tpOO/tp08/Food.java          | 46 ++++++++++++++++++++++++++++++++
 src/tpOO/tp08/Furniture.java     |  5 ++++
 src/tpOO/tp08/Iproduct.java      |  6 +++++
 src/tpOO/tp08/Shelf.java         |  5 ++++
 src/tpOO/tp08/Shop.java          |  5 ++++
 src/tpOO/tp08/UseComparable.java | 18 +++++++++++++
 6 files changed, 85 insertions(+)
 create mode 100644 src/tpOO/tp08/Food.java
 create mode 100644 src/tpOO/tp08/Furniture.java
 create mode 100644 src/tpOO/tp08/Iproduct.java
 create mode 100644 src/tpOO/tp08/Shelf.java
 create mode 100644 src/tpOO/tp08/Shop.java
 create mode 100644 src/tpOO/tp08/UseComparable.java

diff --git a/src/tpOO/tp08/Food.java b/src/tpOO/tp08/Food.java
new file mode 100644
index 0000000..6e471fa
--- /dev/null
+++ b/src/tpOO/tp08/Food.java
@@ -0,0 +1,46 @@
+package tpOO.tp08;
+import java.time.LocalDate;
+
+public class Food {
+    String label;
+    double price;
+    LocalDate bestBeforeDate;
+    
+    Food(String label, double price, LocalDate bestBeforeDate){
+        this.label = label;
+        this.bestBeforeDate = bestBeforeDate;
+        this.price = price;
+    }
+
+    Food(String label, double price){
+        this(label, price, LocalDate.now().plusDays(10));
+    }
+
+    String getLabel(){
+        return this.label;
+    }
+
+    double getPrice(){
+        return this.price;
+    }
+
+    LocalDate getBestBeforeDate(){
+        return this.bestBeforeDate;
+    }
+
+    boolean isPerishable(){
+        return true;
+    }
+
+    @Override
+    public String toString(){
+        return this.label + "=>" + this.price + " à consommer avant le " + this.bestBeforeDate;
+    }
+
+    boolean isBestBefore(LocalDate date){
+        if(date.compareTo(this.bestBeforeDate)>0){
+            return false;
+        }
+        return true;
+    }
+}
diff --git a/src/tpOO/tp08/Furniture.java b/src/tpOO/tp08/Furniture.java
new file mode 100644
index 0000000..ae528ca
--- /dev/null
+++ b/src/tpOO/tp08/Furniture.java
@@ -0,0 +1,5 @@
+package tpOO.tp08;
+
+public class Furniture {
+    
+}
diff --git a/src/tpOO/tp08/Iproduct.java b/src/tpOO/tp08/Iproduct.java
new file mode 100644
index 0000000..3d0a347
--- /dev/null
+++ b/src/tpOO/tp08/Iproduct.java
@@ -0,0 +1,6 @@
+package tpOO.tp08;
+
+interface Iproduct{
+    double getPrice();
+    boolean isPerishable();
+}
\ No newline at end of file
diff --git a/src/tpOO/tp08/Shelf.java b/src/tpOO/tp08/Shelf.java
new file mode 100644
index 0000000..99b8962
--- /dev/null
+++ b/src/tpOO/tp08/Shelf.java
@@ -0,0 +1,5 @@
+package tpOO.tp08;
+
+public class Shelf {
+    
+}
diff --git a/src/tpOO/tp08/Shop.java b/src/tpOO/tp08/Shop.java
new file mode 100644
index 0000000..2ce7438
--- /dev/null
+++ b/src/tpOO/tp08/Shop.java
@@ -0,0 +1,5 @@
+package tpOO.tp08;
+
+public class Shop {
+    
+}
diff --git a/src/tpOO/tp08/UseComparable.java b/src/tpOO/tp08/UseComparable.java
new file mode 100644
index 0000000..691cb23
--- /dev/null
+++ b/src/tpOO/tp08/UseComparable.java
@@ -0,0 +1,18 @@
+package tpOO.tp08;
+
+import java.time.LocalDate;
+import java.util.ArrayList;
+import java.util.Collections;
+
+public class UseComparable {
+    public static void main(String[] args) {
+    Food f1 = new Food("pasta", 3.25, LocalDate.of(2019, 1, 1));
+    Food f2 = new Food("fish", 10.0, LocalDate.of(2019, 1, 10));
+    Food f3 = new Food("meat", 15.0, LocalDate.of(2019, 1, 3));
+    ArrayList<Food> storage = new ArrayList<Food>();
+    storage.add(f1);storage.add(f2);storage.add(f3);
+    System.out.println(storage);
+    Collections.sort(storage);
+    System.out.println(storage);
+    }
+}
-- 
GitLab