From 7fdecf6d83f18fca009ff3feb3d4150b0a84223b Mon Sep 17 00:00:00 2001 From: Daryna Mitina Date: Fri, 8 May 2026 03:58:33 +0300 Subject: [PATCH 1/2] Created abstract class Machine with doWork() and stopWork() methods. Implemented Excavator, Bulldozer, Truck classes with method overrides. --- src/main/java/core/basesyntax/Bulldozer.java | 13 +++++++++++++ src/main/java/core/basesyntax/Excavator.java | 13 +++++++++++++ src/main/java/core/basesyntax/Machine.java | 7 +++++++ src/main/java/core/basesyntax/MainApp.java | 12 ++++++++++++ src/main/java/core/basesyntax/Truck.java | 13 +++++++++++++ 5 files changed, 58 insertions(+) create mode 100644 src/main/java/core/basesyntax/Bulldozer.java create mode 100644 src/main/java/core/basesyntax/Excavator.java create mode 100644 src/main/java/core/basesyntax/Machine.java create mode 100644 src/main/java/core/basesyntax/Truck.java diff --git a/src/main/java/core/basesyntax/Bulldozer.java b/src/main/java/core/basesyntax/Bulldozer.java new file mode 100644 index 000000000..e8d650725 --- /dev/null +++ b/src/main/java/core/basesyntax/Bulldozer.java @@ -0,0 +1,13 @@ +package core.basesyntax; + +public class Bulldozer extends Machine { + @Override + void doWork() { + System.out.println("Bulldozer started working"); + } + + @Override + void stopWork() { + System.out.println("Bulldozer stopped working"); + } +} diff --git a/src/main/java/core/basesyntax/Excavator.java b/src/main/java/core/basesyntax/Excavator.java new file mode 100644 index 000000000..bef96e3b7 --- /dev/null +++ b/src/main/java/core/basesyntax/Excavator.java @@ -0,0 +1,13 @@ +package core.basesyntax; + +public class Excavator extends Machine { + @Override + void doWork() { + System.out.println("Excavator started working"); + } + + @Override + void stopWork() { + System.out.println("Excavator stopped working"); + } +} diff --git a/src/main/java/core/basesyntax/Machine.java b/src/main/java/core/basesyntax/Machine.java new file mode 100644 index 000000000..4d651f320 --- /dev/null +++ b/src/main/java/core/basesyntax/Machine.java @@ -0,0 +1,7 @@ +package core.basesyntax; + +abstract class Machine { + abstract void doWork(); + + abstract void stopWork(); +} diff --git a/src/main/java/core/basesyntax/MainApp.java b/src/main/java/core/basesyntax/MainApp.java index f99e9a019..6376cad3f 100644 --- a/src/main/java/core/basesyntax/MainApp.java +++ b/src/main/java/core/basesyntax/MainApp.java @@ -1,5 +1,17 @@ package core.basesyntax; public class MainApp { + public static void main(String[] args) { + Machine truck = new Truck(); + Machine bulldozer = new Bulldozer(); + Machine excavator = new Excavator(); + excavator.doWork(); + truck.doWork(); + bulldozer.doWork(); + + excavator.stopWork(); + truck.stopWork(); + bulldozer.stopWork(); + } } diff --git a/src/main/java/core/basesyntax/Truck.java b/src/main/java/core/basesyntax/Truck.java new file mode 100644 index 000000000..fb1377f8d --- /dev/null +++ b/src/main/java/core/basesyntax/Truck.java @@ -0,0 +1,13 @@ +package core.basesyntax; + +public class Truck extends Machine { + @Override + void doWork() { + System.out.println("Truck started working"); + } + + @Override + void stopWork() { + System.out.println("Truck stopped working"); + } +} From 31031958228ed25141c757ac7162977a61128c18 Mon Sep 17 00:00:00 2001 From: Daryna Mitina Date: Fri, 8 May 2026 04:21:25 +0300 Subject: [PATCH 2/2] Add public modifiers to classes and loop logic in MainApp. --- src/main/java/core/basesyntax/Bulldozer.java | 4 ++-- src/main/java/core/basesyntax/Excavator.java | 4 ++-- src/main/java/core/basesyntax/Machine.java | 4 ++-- src/main/java/core/basesyntax/MainApp.java | 16 +++++----------- src/main/java/core/basesyntax/Truck.java | 4 ++-- 5 files changed, 13 insertions(+), 19 deletions(-) diff --git a/src/main/java/core/basesyntax/Bulldozer.java b/src/main/java/core/basesyntax/Bulldozer.java index e8d650725..124a533e5 100644 --- a/src/main/java/core/basesyntax/Bulldozer.java +++ b/src/main/java/core/basesyntax/Bulldozer.java @@ -2,12 +2,12 @@ public class Bulldozer extends Machine { @Override - void doWork() { + public void doWork() { System.out.println("Bulldozer started working"); } @Override - void stopWork() { + public void stopWork() { System.out.println("Bulldozer stopped working"); } } diff --git a/src/main/java/core/basesyntax/Excavator.java b/src/main/java/core/basesyntax/Excavator.java index bef96e3b7..418773a88 100644 --- a/src/main/java/core/basesyntax/Excavator.java +++ b/src/main/java/core/basesyntax/Excavator.java @@ -2,12 +2,12 @@ public class Excavator extends Machine { @Override - void doWork() { + public void doWork() { System.out.println("Excavator started working"); } @Override - void stopWork() { + public void stopWork() { System.out.println("Excavator stopped working"); } } diff --git a/src/main/java/core/basesyntax/Machine.java b/src/main/java/core/basesyntax/Machine.java index 4d651f320..474d05768 100644 --- a/src/main/java/core/basesyntax/Machine.java +++ b/src/main/java/core/basesyntax/Machine.java @@ -1,7 +1,7 @@ package core.basesyntax; abstract class Machine { - abstract void doWork(); + public abstract void doWork(); - abstract void stopWork(); + public abstract void stopWork(); } diff --git a/src/main/java/core/basesyntax/MainApp.java b/src/main/java/core/basesyntax/MainApp.java index 6376cad3f..2ff8b790a 100644 --- a/src/main/java/core/basesyntax/MainApp.java +++ b/src/main/java/core/basesyntax/MainApp.java @@ -2,16 +2,10 @@ public class MainApp { public static void main(String[] args) { - Machine truck = new Truck(); - Machine bulldozer = new Bulldozer(); - Machine excavator = new Excavator(); - - excavator.doWork(); - truck.doWork(); - bulldozer.doWork(); - - excavator.stopWork(); - truck.stopWork(); - bulldozer.stopWork(); + Machine[] machines = {new Truck(), new Bulldozer(), new Excavator()}; + for (Machine machine : machines) { + machine.doWork(); + machine.stopWork(); + } } } diff --git a/src/main/java/core/basesyntax/Truck.java b/src/main/java/core/basesyntax/Truck.java index fb1377f8d..35b6038f3 100644 --- a/src/main/java/core/basesyntax/Truck.java +++ b/src/main/java/core/basesyntax/Truck.java @@ -2,12 +2,12 @@ public class Truck extends Machine { @Override - void doWork() { + public void doWork() { System.out.println("Truck started working"); } @Override - void stopWork() { + public void stopWork() { System.out.println("Truck stopped working"); } }