Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

add machines #2127

Open
wants to merge 3 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 13 additions & 0 deletions src/main/java/core/basesyntax/Bulldozer.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
package core.basesyntax;

public class Bulldozer extends Machine {
@Override
public void doWork() {
System.out.println("Bulldozer start working!");
}

@Override
public void stopWork() {
System.out.println("Stop start working!");

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The message in the stopWork method is not informative about the type of Machine that stopped working. According to the checklist, it should indicate the specific type of machine, in this case, Bulldozer. Consider changing the message to something like 'Bulldozer stopped working!' to make it clear and informative.

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

public class Excavator extends Machine {
@Override
public void doWork() {
System.out.println("Excavator start working!");

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Consider making the start message more informative. For example: 'Excavator has begun its work.' This follows the checklist item of writing informative messages in methods.

}

@Override
public void stopWork() {
System.out.println("Excavator stop working!");

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Consider making the stop message more informative as well. For instance: 'Excavator has completed its work and is stopping.' This aligns with the checklist requirement for informative messages.

}
}
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();
}
11 changes: 10 additions & 1 deletion src/main/java/core/basesyntax/MainApp.java
Original file line number Diff line number Diff line change
@@ -1,5 +1,14 @@
package core.basesyntax;

public class MainApp {

public static void main(String[] args) {
Truck truck = new Truck();
Excavator excavator = new Excavator();
Bulldozer bulldozer = new Bulldozer();

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

According to the checklist, it is recommended to use abstract references instead of specific ones to take advantage of polymorphism. Instead of creating Truck, Excavator, and Bulldozer as specific types, you should declare them as Machine type. This allows for more flexible code if you decide to add more functionality that works with different Machine types.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Truck truck = new Truck();
Excavator excavator = new Excavator();
Bulldozer bulldozer = new Bulldozer();
Machine truck = new Truck();
Machine excavator = new Excavator();
Machine bulldozer = new Bulldozer();

Machine[] machines = {truck, excavator, bulldozer};
for (Machine machine : machines) {
machine.doWork();
machine.stopWork();
}
}
}
13 changes: 13 additions & 0 deletions src/main/java/core/basesyntax/Truck.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
package core.basesyntax;

public class Truck extends Machine {
@Override
public void doWork() {
System.out.println("Truck start working!");

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The message 'Truck start working!' should be more informative and indicate that it is a Truck that is working. Consider rephrasing it to include the type of machine, for example: 'Truck is now working.'

}

@Override
public void stopWork() {
System.out.println("Truck stop working!");

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Similarly, the stop message should be more informative. You could change it to 'Truck has stopped working.' to clearly indicate the machine type and its current state.

}
}
Loading