From 2a263656b51a4697e1677e7adfab55761187f88c Mon Sep 17 00:00:00 2001
From: Alexandre
 <alexandre.maintier.etu@hevea09.iut-infobio.priv.univ-lille1.fr>
Date: Mon, 28 Apr 2025 16:00:43 +0200
Subject: [PATCH] tpOO-07::exo-volailles

---
 src/tpOO/tp07/BreedingFarm.java  |  5 ++++
 src/tpOO/tp07/Duck.java          | 12 +++++++++
 src/tpOO/tp07/Goose.java         | 12 +++++++++
 src/tpOO/tp07/Hen.java           | 11 ++++++++
 src/tpOO/tp07/IForceFeeding.java |  5 ++++
 src/tpOO/tp07/Poultry.java       | 43 ++++++++++++++++++++++++++++++++
 6 files changed, 88 insertions(+)
 create mode 100644 src/tpOO/tp07/BreedingFarm.java
 create mode 100644 src/tpOO/tp07/Duck.java
 create mode 100644 src/tpOO/tp07/Goose.java
 create mode 100644 src/tpOO/tp07/Hen.java
 create mode 100644 src/tpOO/tp07/IForceFeeding.java
 create mode 100644 src/tpOO/tp07/Poultry.java

diff --git a/src/tpOO/tp07/BreedingFarm.java b/src/tpOO/tp07/BreedingFarm.java
new file mode 100644
index 0000000..d5e23c2
--- /dev/null
+++ b/src/tpOO/tp07/BreedingFarm.java
@@ -0,0 +1,5 @@
+package tpOO.tp07;
+
+public class BreedingFarm {
+    
+}
diff --git a/src/tpOO/tp07/Duck.java b/src/tpOO/tp07/Duck.java
new file mode 100644
index 0000000..53d7c8c
--- /dev/null
+++ b/src/tpOO/tp07/Duck.java
@@ -0,0 +1,12 @@
+package tpOO.tp07;
+
+public class Duck extends Poultry{
+
+    public static double priceKg = 1.5;
+    public static double slaughterTreshold = 5.0;
+
+    Duck(int identity, double weight){
+        super(identity, weight);
+        this.type = "Duck";
+    }
+}
diff --git a/src/tpOO/tp07/Goose.java b/src/tpOO/tp07/Goose.java
new file mode 100644
index 0000000..a926f85
--- /dev/null
+++ b/src/tpOO/tp07/Goose.java
@@ -0,0 +1,12 @@
+package tpOO.tp07;
+
+public class Goose extends Poultry{
+
+    public static double priceKg = 4.0;
+    public static double slaughterTreshold = 10.0;
+
+    Goose(int identity, double weight){
+        super(identity, weight);
+        this.type = "Goose";
+    }
+}
diff --git a/src/tpOO/tp07/Hen.java b/src/tpOO/tp07/Hen.java
new file mode 100644
index 0000000..da078e8
--- /dev/null
+++ b/src/tpOO/tp07/Hen.java
@@ -0,0 +1,11 @@
+package tpOO.tp07;
+
+public class Hen extends Poultry{
+    public static double priceKg = 1.0;
+    public static double slaughterTreshold = 3.5;
+
+    Hen(int identity, double weight){
+        super(identity, weight);
+        this.type = "Hen";
+    }
+}
diff --git a/src/tpOO/tp07/IForceFeeding.java b/src/tpOO/tp07/IForceFeeding.java
new file mode 100644
index 0000000..4f24384
--- /dev/null
+++ b/src/tpOO/tp07/IForceFeeding.java
@@ -0,0 +1,5 @@
+package tpOO.tp07;
+
+public interface IForceFeeding {
+    
+}
diff --git a/src/tpOO/tp07/Poultry.java b/src/tpOO/tp07/Poultry.java
new file mode 100644
index 0000000..de60a3c
--- /dev/null
+++ b/src/tpOO/tp07/Poultry.java
@@ -0,0 +1,43 @@
+package tpOO.tp07;
+
+public class Poultry {
+    protected int identity;
+    protected double weight;
+    String type;
+    
+    protected Poultry(int identity, double weight){
+        this.identity = identity;
+        this.weight = weight;
+    }
+
+    public int getIdentity(){
+        return this.identity;
+    }
+
+    public void setIdentity(int identity){
+        this.identity=identity;
+    }
+
+    public double getWeight(){
+        return this.weight;
+    }
+
+    public double getPrice(){
+        if(this.type=="Hen"){
+            return Hen.priceKg * this.weight;
+        }
+        if(this.type=="Duck"){
+            return Duck.priceKg * this.weight;
+        }
+        return Goose.priceKg * this.weight;
+    }
+
+    public void setWeight(double weight){
+        this.weight = weight;
+    }
+
+    @Override
+    public String toString(){
+        return this.type + " [" + this.identity + ", " + this.weight + "]";
+    }
+}
-- 
GitLab