Skip to content

Commit

Permalink
OOP basic program
Browse files Browse the repository at this point in the history
  • Loading branch information
Cliffcamer committed Oct 15, 2023
1 parent 57f404c commit 5818b89
Show file tree
Hide file tree
Showing 3 changed files with 62 additions and 0 deletions.
7 changes: 7 additions & 0 deletions src/main/java/core/basesyntax/Machine.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
package core.basesyntax;

public abstract class Machine {
public abstract void doWork();
public abstract void stopWork();
}

40 changes: 40 additions & 0 deletions src/main/java/core/basesyntax/Machines.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
package core.basesyntax;

public abstract class Machines {
public static 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");
}
}

public static 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");
}
}

public static 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");
}
}


}


15 changes: 15 additions & 0 deletions src/main/java/core/basesyntax/MainApp.java
Original file line number Diff line number Diff line change
@@ -1,5 +1,20 @@
package core.basesyntax;

public class MainApp {
public static void main (String[] args) {
Machine[] machines = {
new Machines.Truck(),
new Machines.Bulldozer(),
new Machines.Excavator()
};

for(Machine machine : machines) {
machine.doWork();
}

for(Machine machine : machines) {
machine.stopWork();
}
}

}

0 comments on commit 5818b89

Please sign in to comment.