From 217da256cf0743954b2bcb74a448522796f9e736 Mon Sep 17 00:00:00 2001 From: Tetiana Yashchuk Date: Fri, 8 May 2026 22:49:54 +0300 Subject: [PATCH] solution for oop task --- src/main/java/core/basesyntax/Bulldozer.java | 15 +++++++++++++++ src/main/java/core/basesyntax/Excavator.java | 16 ++++++++++++++++ src/main/java/core/basesyntax/Machine.java | 8 ++++++++ src/main/java/core/basesyntax/MainApp.java | 14 ++++++++++++++ src/main/java/core/basesyntax/Truck.java | 15 +++++++++++++++ 5 files changed, 68 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..7455f868b --- /dev/null +++ b/src/main/java/core/basesyntax/Bulldozer.java @@ -0,0 +1,15 @@ +package core.basesyntax; + +public class Bulldozer extends Machine { + + @Override + public void doWork() { + System.out.println("Bulldozer started work"); + } + + @Override + public void stopWork() { + System.out.println("Bulldozer stopped"); + } + +} diff --git a/src/main/java/core/basesyntax/Excavator.java b/src/main/java/core/basesyntax/Excavator.java new file mode 100644 index 000000000..713814f6a --- /dev/null +++ b/src/main/java/core/basesyntax/Excavator.java @@ -0,0 +1,16 @@ +package core.basesyntax; + +public class Excavator extends Machine { + + @Override + public void doWork() { + System.out.println("Excavator started work"); + } + + @Override + public void stopWork() { + System.out.println("Excavator stopped"); + } + +} + diff --git a/src/main/java/core/basesyntax/Machine.java b/src/main/java/core/basesyntax/Machine.java new file mode 100644 index 000000000..5b8bb3eb3 --- /dev/null +++ b/src/main/java/core/basesyntax/Machine.java @@ -0,0 +1,8 @@ +package core.basesyntax; + +public abstract class Machine { + + public abstract void doWork(); + + public abstract void stopWork(); +} diff --git a/src/main/java/core/basesyntax/MainApp.java b/src/main/java/core/basesyntax/MainApp.java index f99e9a019..40b0c468a 100644 --- a/src/main/java/core/basesyntax/MainApp.java +++ b/src/main/java/core/basesyntax/MainApp.java @@ -1,5 +1,19 @@ package core.basesyntax; public class MainApp { + public static void main(String[] args) { + Machine[] machines = new Machine[] { + 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 new file mode 100644 index 000000000..40468e848 --- /dev/null +++ b/src/main/java/core/basesyntax/Truck.java @@ -0,0 +1,15 @@ +package core.basesyntax; + +public class Truck extends Machine { + + @Override + public void doWork() { + System.out.println("Truck started work"); + } + + @Override + public void stopWork() { + System.out.println("Truck stopped"); + } + +}