diff --git a/src/main/java/core/basesyntax/Bulldozer.java b/src/main/java/core/basesyntax/Bulldozer.java new file mode 100644 index 000000000..d54b90400 --- /dev/null +++ b/src/main/java/core/basesyntax/Bulldozer.java @@ -0,0 +1,13 @@ +package core.basesyntax; + +public class Bulldozer extends Machine { + @Override + public void doWork() { + System.out.println("Bulldozer started its work."); + } + + @Override + 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 new file mode 100644 index 000000000..923d91483 --- /dev/null +++ b/src/main/java/core/basesyntax/Excavator.java @@ -0,0 +1,13 @@ +package core.basesyntax; + +public class Excavator extends Machine { + @Override + public void doWork() { + System.out.println("Excavator started its work."); + } + + @Override + 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 new file mode 100644 index 000000000..1db910165 --- /dev/null +++ b/src/main/java/core/basesyntax/Machine.java @@ -0,0 +1,9 @@ +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..aff1566a5 100644 --- a/src/main/java/core/basesyntax/MainApp.java +++ b/src/main/java/core/basesyntax/MainApp.java @@ -1,5 +1,24 @@ package core.basesyntax; public class MainApp { + public static void main(String[] args) { + // Створення масиву типу Machine + Machine[] machines = new Machine[] { + new Truck(), + new Bulldozer(), + new Excavator() + }; + System.out.println("--- STARTING WORK CYCLE ---"); + // Цикл для виклику doWork() + for (Machine machine : machines) { + machine.doWork(); + } + + System.out.println("\n--- STOPPING WORK CYCLE ---"); + // Цикл для виклику stopWork() + for (Machine machine : machines) { + 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..65cca0280 --- /dev/null +++ b/src/main/java/core/basesyntax/Truck.java @@ -0,0 +1,13 @@ +package core.basesyntax; + +public class Truck extends Machine { + @Override + public void doWork() { + System.out.println("Truck started its work."); + } + + @Override + public void stopWork() { + System.out.println("Truck stopped working."); + } +}