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
icon
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
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 3 steps with 6 images

Blurred answer
Knowledge Booster
Developing computer interface
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.
Similar questions
Recommended textbooks for you
Database System Concepts
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)
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
C How to Program (8th Edition)
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
Database Systems: Design, Implementation, & Manag…
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
Programmable Logic Controllers
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education