his project has 3 classes which are already defined for you. Do not change any of these: Vehicle: an abstract class for any make and model of vehicle that can possibly travel some distance. LimitedRange: an interface for something that has a limit to the distance it can travel. Main: a test program which will work after you have written the code below. Your job is to write the following 3 classes so that this program produces the sample output shown at the end of Main. Specifically you will need: 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. (Remember that the first li
his project has 3 classes which are already defined for you. Do not change any of these: Vehicle: an abstract class for any make and model of vehicle that can possibly travel some distance. LimitedRange: an interface for something that has a limit to the distance it can travel. Main: a test program which will work after you have written the code below. Your job is to write the following 3 classes so that this program produces the sample output shown at the end of Main. Specifically you will need: 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. (Remember that the first li
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
Concept explainers
OOPs
In today's technology-driven world, computer programming skills are in high demand. The object-oriented programming (OOP) approach is very much useful while designing and maintaining software programs. Object-oriented programming (OOP) is a basic programming paradigm that almost every developer has used at some stage in their career.
Constructor
The easiest way to think of a constructor in object-oriented programming (OOP) languages is:
Question
- This project has 3 classes which are already defined for you. Do not change any of these:
- Vehicle: an abstract class for any make and model of vehicle that can possibly travel some distance.
- LimitedRange: an interface for something that has a limit to the distance it can travel.
- Main: a test program which will work after you have written the code below.
- Your job is to write the following 3 classes so that this program produces the sample output shown at the end of Main. Specifically you will need:
- 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. (Remember that the first line of the constructor must be a call to "super": Vehicle's constructor specifying the make and model.) 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.
DO NOT CHANGE THIS 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 that you should get after you write
ElectricCar.java, Motorboat.java, and Sailboat.java:
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.
Step by step
Solved in 8 steps with 1 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