From 36605dc56cd20fb14c457d0b4d40af21b60049fe Mon Sep 17 00:00:00 2001 From: Yossri Ghabri Date: Tue, 25 Nov 2025 15:56:30 +0100 Subject: [PATCH] Add base GildedItem abstract class for item hierarchy --- .../java/com/gildedrose/items/GildedItem.java | 26 +++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 Java/src/main/java/com/gildedrose/items/GildedItem.java diff --git a/Java/src/main/java/com/gildedrose/items/GildedItem.java b/Java/src/main/java/com/gildedrose/items/GildedItem.java new file mode 100644 index 00000000..23c40c3e --- /dev/null +++ b/Java/src/main/java/com/gildedrose/items/GildedItem.java @@ -0,0 +1,26 @@ +package com.gildedrose.items; + +import com.gildedrose.Item; + +public abstract class GildedItem { + + protected Item item; + + public GildedItem(Item item) { + this.item = item; + } + + public abstract void updateQuality(); + + protected void decreaseQuality(int amount) { + item.quality = Math.max(0, item.quality - amount); + } + + protected void increaseQuality(int amount) { + item.quality = Math.min(50, item.quality + amount); + } + + protected void decreaseSellIn() { + item.sellIn--; + } +}