-
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
create abstract class Machine and some machines and override 2 method… #1564
base: master
Are you sure you want to change the base?
Changes from 2 commits
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 is start work"); | ||
} | ||
|
||
@Override | ||
public void stopWork() { | ||
System.out.println("Bulldozer is stop work"); | ||
} | ||
} |
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 is start work"); | ||
} | ||
|
||
@Override | ||
public void stopWork() { | ||
System.out.println("Excavator is stop work"); | ||
} | ||
} |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
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) { | ||||||
Excavator excavator = new Excavator(); | ||||||
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. Your implementation won’t allow us to use polymorphism in the code. Your reference is bonded to specific implementation, but it is always better to depend on the abstraction. |
||||||
Bulldozer bulldozer = new Bulldozer(); | ||||||
Truck truck = new Truck(); | ||||||
Machine[] machines = {excavator, truck, bulldozer}; | ||||||
for (Machine machine:machines) { | ||||||
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.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 is start work"); | ||
} | ||
|
||
@Override | ||
public void stopWork() { | ||
System.out.println("Truck is stop work"); | ||
} | ||
} |
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.