/**    Represents a car. */ public class Car // TODO: Inherit from Vehicle {    // Do NOT add any instance variables    public Car(double purchasePrice)    {       // TODO: Complete    }    // TODO: Override the getValue method

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

/**
   Represents a car.
*/
public class Car // TODO: Inherit from Vehicle
{
   // Do NOT add any instance variables

   public Car(double purchasePrice)
   {
      // TODO: Complete
   }

   // TODO: Override the getValue method

## Java Programming Example: Car and Vehicle Classes

### CarTester.java
This is a Java program that tests vehicle functionality.

```java
public class CarTester
{
    public static void main(String[] args)
    {
        Vehicle myCar = new Car(20000);
        System.out.println(myCar.getValue());
        System.out.println("Expected: 20000.0");
        myCar.move(10000);
        System.out.println(myCar.getValue());
        System.out.println("Expected: 17500.0");
        myCar.move(30000);
        System.out.println(myCar.getValue());
        System.out.println("Expected: 10000.0");
        myCar.move(40000);
        System.out.println(myCar.getValue());
        System.out.println("Expected: 0.0");
        myCar.move(10000);
        System.out.println(myCar.getValue());
        System.out.println("Expected: 0.0");
    }
}
```

### Vehicle.java
This class represents a vehicle's basic properties and behaviors.

```java
/**
 * Represents a vehicle of any type.
 */

public class Vehicle
{
    private double value;
    private double mileage;

    public Vehicle(double aValue)
    {
        value = aValue;
        mileage = 0;
    }

    public void move(double milesMoved)
    {
        mileage = mileage + milesMoved;
    }

    public double getValue()
    {
        return value;
    }

    public double getMileage()
    {
        return mileage;
    }
}
```

### Explanation

In this example, there are two Java files:

#### 1. CarTester.java
- **Purpose**: Tests the functionality of a `Vehicle` (or `Car`) object.
- **Functionality**:
  - Creates a new `Car` with an initial value of 20,000.
  - Prints the car's value and performs a series of movements, reducing the car's value each time.
  - Expects the car's value to be displayed and checked against expected values after each movement.

#### 2. Vehicle.java
- **Purpose**: Defines a generic vehicle with attributes such as `value` and `mileage`.
- **Attributes**:
  - `value` (double): Initial worth of the vehicle.
  - `mileage` (double): Distance the vehicle has traveled.
- **Methods**:
  - `move(double milesMoved)
Transcribed Image Text:## Java Programming Example: Car and Vehicle Classes ### CarTester.java This is a Java program that tests vehicle functionality. ```java public class CarTester { public static void main(String[] args) { Vehicle myCar = new Car(20000); System.out.println(myCar.getValue()); System.out.println("Expected: 20000.0"); myCar.move(10000); System.out.println(myCar.getValue()); System.out.println("Expected: 17500.0"); myCar.move(30000); System.out.println(myCar.getValue()); System.out.println("Expected: 10000.0"); myCar.move(40000); System.out.println(myCar.getValue()); System.out.println("Expected: 0.0"); myCar.move(10000); System.out.println(myCar.getValue()); System.out.println("Expected: 0.0"); } } ``` ### Vehicle.java This class represents a vehicle's basic properties and behaviors. ```java /** * Represents a vehicle of any type. */ public class Vehicle { private double value; private double mileage; public Vehicle(double aValue) { value = aValue; mileage = 0; } public void move(double milesMoved) { mileage = mileage + milesMoved; } public double getValue() { return value; } public double getMileage() { return mileage; } } ``` ### Explanation In this example, there are two Java files: #### 1. CarTester.java - **Purpose**: Tests the functionality of a `Vehicle` (or `Car`) object. - **Functionality**: - Creates a new `Car` with an initial value of 20,000. - Prints the car's value and performs a series of movements, reducing the car's value each time. - Expects the car's value to be displayed and checked against expected values after each movement. #### 2. Vehicle.java - **Purpose**: Defines a generic vehicle with attributes such as `value` and `mileage`. - **Attributes**: - `value` (double): Initial worth of the vehicle. - `mileage` (double): Distance the vehicle has traveled. - **Methods**: - `move(double milesMoved)
Expert Solution
Step 1

Description:

In the constructor of Car class, call the superclass constructor with the purchasePrice as the argument.

  • In the getValue function, do the following:
    • Initialize a variable.
    • Set the value of the variable to super.getValue() - ((super.getMileage() / 10000) * 2500).
    • If the value of the variable is less than 0, set its value to 0.0.
    • Return the value of the variable.

Implementation of the Car class is given in the next step.

steps

Step by step

Solved in 3 steps with 1 images

Blurred answer
Knowledge Booster
Class
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
  • SEE MORE 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