From 65352dd90cd310207b5aa6be508da2a15b3eb3b9 Mon Sep 17 00:00:00 2001
From: Malori ALVAREZ <malori.alvarez.etu@univ-lille.fr>
Date: Mon, 19 May 2025 14:32:03 +0200
Subject: [PATCH] TpQU0

---
 src/tpqu03/Person.java     | 20 ++++++++++++++++++++
 src/tpqu03/Student1.java   | 27 +++++++++++++++++++++++++++
 src/tpqu03/Student2.java   | 27 +++++++++++++++++++++++++++
 src/tpqu03/UseStudent.java |  7 +++++++
 4 files changed, 81 insertions(+)
 create mode 100755 src/tpqu03/Person.java
 create mode 100755 src/tpqu03/Student1.java
 create mode 100755 src/tpqu03/Student2.java
 create mode 100755 src/tpqu03/UseStudent.java

diff --git a/src/tpqu03/Person.java b/src/tpqu03/Person.java
new file mode 100755
index 0000000..f2934e5
--- /dev/null
+++ b/src/tpqu03/Person.java
@@ -0,0 +1,20 @@
+package tpQU3;
+
+public class Person {
+    private String name;
+    private String forename;
+
+    public Person(String name, String forename){
+        this.name=name;
+        this.forename=forename;
+    }
+    public String getName(){
+        return name;
+    }
+    public String getForename(){
+        return forename;
+    }
+    public String toString(){
+        return forename+" "+name;
+    }
+}
diff --git a/src/tpqu03/Student1.java b/src/tpqu03/Student1.java
new file mode 100755
index 0000000..6184157
--- /dev/null
+++ b/src/tpqu03/Student1.java
@@ -0,0 +1,27 @@
+package tpQU3;
+
+public class Student1 extends Person {
+    private static final int DEFAULT_DURATION_STUDENT1=20;
+    private boolean thirdTimeCredit;
+
+    public Student1(String name, String forename, boolean thirdTimeCredit){
+        super(name, forename);
+        this.thirdTimeCredit=thirdTimeCredit;
+    }
+    public Student1(String name, String forename){
+        this(name, forename, false);
+    }
+    public int getDefaultDuration(){
+        return DEFAULT_DURATION_STUDENT1;
+    }
+    public int getDuration(){
+        int time = DEFAULT_DURATION_STUDENT1;
+        if (thirdTimeCredit==true){
+            time = DEFAULT_DURATION_STUDENT1 *(1 +1/3);
+        }    
+        return time;
+    }
+    public String toString(){
+        return super.toString()+" ("+getDuration()+")";
+    }
+}
diff --git a/src/tpqu03/Student2.java b/src/tpqu03/Student2.java
new file mode 100755
index 0000000..58bdc47
--- /dev/null
+++ b/src/tpqu03/Student2.java
@@ -0,0 +1,27 @@
+package tpQU3;
+
+public class Student2 extends Student1 {
+    private static final int DEFAULT_DURATION_STUDENT2=30;
+    private boolean thirdTimeCredit;
+    
+    public Student2(String name, String forename, boolean thirdTimeCredit){
+        super(name, forename);
+        this.thirdTimeCredit=thirdTimeCredit;
+    }
+    public Student2(String name, String forename){
+        this(name, forename, false);
+    }
+    public int getDefaultDuration(){
+        return DEFAULT_DURATION_STUDENT2;
+    }
+    public int getDuration(){
+        int time = DEFAULT_DURATION_STUDENT2;
+        if (thirdTimeCredit==true){
+            time = DEFAULT_DURATION_STUDENT2 *(1 +1/3);
+        }    
+        return time;
+    }
+    public String toString(){
+        return super.toString()+" ("+getDuration()+")";
+    }
+}
diff --git a/src/tpqu03/UseStudent.java b/src/tpqu03/UseStudent.java
new file mode 100755
index 0000000..3bc0b4b
--- /dev/null
+++ b/src/tpqu03/UseStudent.java
@@ -0,0 +1,7 @@
+package tpQU3;
+
+public class UseStudent {
+    public static void main(String[] args) {
+        
+    }
+}
-- 
GitLab