-
Notifications
You must be signed in to change notification settings - Fork 1.7k
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
base: master
Are you sure you want to change the base?
add machines #2127
Changes from 1 commit
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
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!"); | ||
} | ||
} |
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!"); | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe 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!"); | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe 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. |
||
} | ||
} |
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(); | ||
} |
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(); | ||||||||||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe 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 There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||||||||||
Machine[] machines = {truck, excavator, bulldozer}; | ||||||||||||||
for (Machine machine : machines) { | ||||||||||||||
machine.doWork(); | ||||||||||||||
machine.stopWork(); | ||||||||||||||
} | ||||||||||||||
} | ||||||||||||||
} |
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!"); | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe 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!"); | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe 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. |
||
} | ||
} |
There was a problem hiding this comment.
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.