write the following 3 classes for the Java program so that this program produces the sample output shown at the end of Main. ElectricCar: a vehicle with a limited range. So it must be a subclass of Vehicle, and it must implement LimitedRange. Thus it needs an instance variable for its range, and a travel method (required by Vehicle. Please use @Override) that outputs "Zoom!" if it has enough range to go the distance specified (and update its range). It must have a constructor with 3 arguments as called by main. It also needs a getCurrentRange method as required by LimitedRange (use @Override for this too). Motorboat: a vehicle with a limited range. So it is similar to ElectricCar, but it outputs "Wisshhh!" when it goes. Sailboat: a vehicle that doesn't have a limited range. So it is a subclass of Vehicle, but doesn't implement LimitedRange. It can go any distance, and outputs "Weee!" when it travels.
write the following 3 classes for the Java program so that this program produces the sample output shown at the end of Main. ElectricCar: a vehicle with a limited range. So it must be a subclass of Vehicle, and it must implement LimitedRange. Thus it needs an instance variable for its range, and a travel method (required by Vehicle. Please use @Override) that outputs "Zoom!" if it has enough range to go the distance specified (and update its range). It must have a constructor with 3 arguments as called by main. It also needs a getCurrentRange method as required by LimitedRange (use @Override for this too). Motorboat: a vehicle with a limited range. So it is similar to ElectricCar, but it outputs "Wisshhh!" when it goes. Sailboat: a vehicle that doesn't have a limited range. So it is a subclass of Vehicle, but doesn't implement LimitedRange. It can go any distance, and outputs "Weee!" when it travels.
Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
Related questions
Question
100%
write the following 3 classes for the Java program so that this program produces the sample output shown at the end of Main.
- ElectricCar: a vehicle with a limited range. So it must be a subclass of Vehicle, and it must implement LimitedRange. Thus it needs an instance variable for its range, and a travel method (required by Vehicle. Please use @Override) that outputs "Zoom!" if it has enough range to go the distance specified (and update its range). It must have a constructor with 3 arguments as called by main. It also needs a getCurrentRange method as required by LimitedRange (use @Override for this too).
- Motorboat: a vehicle with a limited range. So it is similar to ElectricCar, but it outputs "Wisshhh!" when it goes.
- Sailboat: a vehicle that doesn't have a limited range. So it is a subclass of Vehicle, but doesn't implement LimitedRange. It can go any distance, and outputs "Weee!" when it travels.
Code:
class Main
{
publicstaticvoid main(String[] args)
{
Vehicle[] vehicles = new Vehicle[3];
vehicles[0] = new ElectricCar("Tesla", "Model 3", 262);
// 262 mile range
vehicles[1] = new Motorboat("Starweld", "16 Fusion DC", 45);
// 45 mile range
vehicles[2] = new Sailboat("Gulf Marine", "Gulf 32");
// sailboats have unlimited range
for(Vehicle v : vehicles)
{
goDistanceTest(v, 20);
goDistanceTest(v, 40);
System.out.println();
}
}
// Test v to see if it can go distance, and output results.
staticvoid goDistanceTest(Vehicle v, int distance)
{
System.out.print("Going " + distance + " miles: ");
if (!v.travel(distance))
System.out.println("Can't make it.");
elseif(v instanceof LimitedRange)
{
System.out.println("I can go " + ((LimitedRange)v).getCurrentRange() + " miles farther.");
}
}
}
/* Sample Output
Going 20 miles: Zoom!
I can go 242 miles farther.
Going 40 miles: Zoom!
I can go 202 miles farther.
Going 20 miles: Wisshhh!
I can go 25 miles farther.
Going 40 miles: Can't make it.
Going 20 miles: Weee!
Going 40 miles: Weee!
*/
Expert Solution
This question has been solved!
Explore an expertly crafted, step-by-step solution for a thorough understanding of key concepts.
This is a popular solution!
Trending now
This is a popular solution!
Step by step
Solved in 3 steps with 6 images
Knowledge Booster
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.Recommended textbooks for you
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education