From 8ae38c9f2b3058130ea47f20ce352d9d68faa487 Mon Sep 17 00:00:00 2001 From: heimoshuiyu Date: Mon, 11 Apr 2022 13:58:33 +0800 Subject: [PATCH] a3 part 2 --- assignment3/EuropeanRabbit.java | 43 +++++++++++++++++++++++ assignment3/FrankTheRabbit.java | 36 +++++++++++++++++++ assignment3/Human.java | 3 ++ assignment3/LapinSauteChasseur.java | 26 ++++++++++++++ assignment3/Rabbit.java | 54 +++++++++++++++++++++++++++++ assignment3/Start.java | 5 +++ 6 files changed, 167 insertions(+) create mode 100644 assignment3/EuropeanRabbit.java create mode 100644 assignment3/FrankTheRabbit.java create mode 100644 assignment3/LapinSauteChasseur.java create mode 100644 assignment3/Rabbit.java diff --git a/assignment3/EuropeanRabbit.java b/assignment3/EuropeanRabbit.java new file mode 100644 index 0000000..540cb5c --- /dev/null +++ b/assignment3/EuropeanRabbit.java @@ -0,0 +1,43 @@ +/* + * Author: CHEN Yongyuan (Walter) 1930006025 from OOP(1007) + * Date: 2022-04-11 + * Description: European rabbit + */ + +public class EuropeanRabbit extends Rabbit { + /** + * Constructor. + * + * @param name The name of the Rabbit. + * @param weight The weight of the Rabbit. + */ + public EuropeanRabbit(String name, double weight) { + super(name, weight); + } + + /** + * Constructor. With default weight 2.0 + * + * @param name The name of the Rabbit. + */ + public EuropeanRabbit(String name) { + this(name, 2.0); + } + + /** + * Test. + */ + public static void testEuropeanRabbit() { + // test first constructor + Rabbit rabbit = new EuropeanRabbit("Bugs Bunny"); + System.out.println(rabbit.getName() == "Bugs Bunny"); + System.out.println(rabbit.getWeight() == 2.0); + System.out.println(rabbit.isCookable() == true); + + // test second constructor + Rabbit rabbit2 = new EuropeanRabbit("Daffy Duck", 3.0); + System.out.println(rabbit2.getName() == "Daffy Duck"); + System.out.println(rabbit2.getWeight() == 3.0); + System.out.println(rabbit2.isCookable() == true); + } +} diff --git a/assignment3/FrankTheRabbit.java b/assignment3/FrankTheRabbit.java new file mode 100644 index 0000000..96c14fa --- /dev/null +++ b/assignment3/FrankTheRabbit.java @@ -0,0 +1,36 @@ +/* + * Author: CHEN Yongyuan (Walter) 1930006025 from OOP(1007) + * Date: 2022-04-11 + * Description: European rabbit + */ + +public class FrankTheRabbit extends Rabbit { + /** + * Constructor. + * + * With name "Frank" and weight of 100.0 + */ + public FrankTheRabbit() { + super("Frank", 100.0); + } + + /** + * Frank rabbit can not be cooked. + * + * @return false + */ + @Override + public boolean isCookable() { + return false; + } + + /** + * Test. + */ + public static void testFrankTheRabbit() { + FrankTheRabbit frank = new FrankTheRabbit(); + System.out.println(frank.getName() == "Frank"); + System.out.println(frank.getWeight() == 100.0); + System.out.println(frank.isCookable() == false); + } +} diff --git a/assignment3/Human.java b/assignment3/Human.java index 5ad128d..e39286d 100644 --- a/assignment3/Human.java +++ b/assignment3/Human.java @@ -29,5 +29,8 @@ public class Human extends Mammal { * Test. */ public static void testHuman() { + Human human = new Human(); + System.out.println(human.getName() == "Alice"); + System.out.println(human.isCookable() == false); } } diff --git a/assignment3/LapinSauteChasseur.java b/assignment3/LapinSauteChasseur.java new file mode 100644 index 0000000..216f06a --- /dev/null +++ b/assignment3/LapinSauteChasseur.java @@ -0,0 +1,26 @@ +/* + * Author: CHEN Yongyuan (Walter) 1930006025 from OOP(1007) + * Date: 2022-04-11 + * Description: Lapin Saute Chasseur + */ + +public class LapinSauteChasseur extends EuropeanRabbit { + /** + * Constructor. + * + * With name "Delicious" and has a weight of 0.5 + */ + public LapinSauteChasseur() { + super("Delicious", 0.5); + } + + /** + * Test. + */ + public static void testLapinSauteChasseur() { + LapinSauteChasseur rabbit = new LapinSauteChasseur(); + System.out.println(rabbit.getName() == "Delicious"); + System.out.println(rabbit.getWeight() == 0.5); + System.out.println(rabbit.isCookable() == true); + } +} diff --git a/assignment3/Rabbit.java b/assignment3/Rabbit.java new file mode 100644 index 0000000..c1d8063 --- /dev/null +++ b/assignment3/Rabbit.java @@ -0,0 +1,54 @@ +/* + * Author: CHEN Yongyuan (Walter) 1930006025 from OOP(1007) + * Date: 2022-04-11 + * Description: Rabbit class + */ + +public class Rabbit extends Mammal { + /** + * The weight of the rabbit. + */ + private double weight; + + /** + * Getter for the weight of the rabbit. + * + * @return the weight of the rabbit + */ + public double getWeight() { + return weight; + } + + /** + * Constructor. + * + * @param name + * the name of the rabbit + * @param weight + * the weight of the rabbit + */ + public Rabbit(String name, double weight) { + super(name); + this.weight = weight; + } + + /** + * Rabbit can be cooked. + * + * return true + */ + @Override + public boolean isCookable() { + return true; + } + + /** + * Test. + */ + public static void testRabbit() { + Rabbit rabbit = new Rabbit("Rabbit", 1.0); + System.out.println(rabbit.getName() == "Rabbit"); + System.out.println(rabbit.getWeight() == 1.0); + System.out.println(rabbit.isCookable() == true); + } +} diff --git a/assignment3/Start.java b/assignment3/Start.java index 656ba13..6bf9d3b 100644 --- a/assignment3/Start.java +++ b/assignment3/Start.java @@ -1,5 +1,10 @@ public class Start { public static void main(String[] args) { Mammal.testMammal(); + Human.testHuman(); + Rabbit.testRabbit(); + EuropeanRabbit.testEuropeanRabbit(); + LapinSauteChasseur.testLapinSauteChasseur(); + FrankTheRabbit.testFrankTheRabbit(); } }