Explain overriding methods and the solution, JAVA Programming

Assignment Help:

Explain Overriding Methods: The Solution

The object oriented solution to this problem is to describe a new class, call it SlowCar, that inherits from Car and imposes the additional constraint in which a car may not go faster than 70 mph (112.65 kph).

To do this you'll required to adjust the two places that speed can be changed, the constructor and the accelerate() method. The constructor has a different name since all constructors are named after their classes other than the accelerate() method must be overridden. This means the subclass has techniques with the similar signature as the method in the superclass.
public class SlowCar extends Car {

private static final double speedLimit = 112.65408; // kph == 70 mph

public SlowCar(String licensePlate, double speed, double maxSpeed,
String make, String model, int year, int numberOfPassengers, int numDoors) {

super(licensePlate, 0, maxSpeed, make, model, year,
numberOfPassengers, numDoors);
this.accelerate(speed);

}

public void accelerate(double deltaV) {

double speed = this.getSpeed() + deltaV;

if (speed > speedLimit) {
super.accelerate(speedLimit - this.getSpeed());
}
else {
super.accelerate(deltaV);
}
}
}
The first thing to remember about this class is what it doesn't have, getSpeed(), getLicensePlate(), getMaximumSpeed(), setLicensePlate() methods or speed, maxSpeed and numDoors fields. All of these are given through the superclass Car. Nothing about them has modified so they don't required to be repeated here.

Further look at the accelerate() method. This is various than the accelerate() method in Car. It imposes the additional constraint.

The constructor is a little more complicated. First remember that if you're going to use a non-default constructor, which is a constructor with arguments, you do required to write a constructor for the subclass, even if it's just going to do the exact similar thing as the matching constructor in the superclass. You cannot easily inherit Car's constructor because in which constructor is named Car() and this one must be named SlowCar().

The constructor requires to set the value of name, url, and description. Therefore they're not accessible from the subclass. In the other words they are set through calling the superclass's constructor using the keyword super. While super is used as a method in the first non-blank line of a constructor, it stands for the constructor of this class's superclass.
The immediate superclass's constructor will be known as in the first non-blank line of the subclass's constructor. If you don't call it explicitly, then Java will call it for you along with no arguments. It's a compile time error if the immediate superclass doesn't have a constructor with no arguments and you don't call a various constructor in the first line of the subclass's constructor.

The use of the ternary operator in the constructor call is unusual. Therefore, it's essential to meet the compiler's requirement that the invocation of super be the first line in the subclass constructor. Or else this could be written more clearly using only if-else.


Related Discussions:- Explain overriding methods and the solution

Lookupdispatchaction and dispatchaction, What is difference among LookupDis...

What is difference among LookupDispatchAction and DispatchAction? Ans) The difference among LookupDispatchAction and DispatchAction is that the actual method that gets known in

Write a java console application, You are to write a Java console applicati...

You are to write a Java console application, following the Software Life Cycle model, which will read personnel records from a text file and store them in a data structure.  One li

Explain final fields, Explain final fields ? You may also declare field...

Explain final fields ? You may also declare fields to be final. This is not the similar thing as declaring a method or class to be final. While a field is declared final, it is

I need to make clone of an android app, I need to Make clone of an Android ...

I need to Make clone of an Android app Project Description: Make a total duplicate of the App: Camp and RV Campgrounds Plus The only difference will be the name (as it

Gps and gprs fleet management system, GPS and GPRS fleet management system ...

GPS and GPRS fleet management system Project Description: I want to develop fleet management system Skills required: HTML, PHP, Java, Website Design

What is role of action class, An Action Class performs a role of an adapter...

An Action Class performs a role of an adapter among the contents of an incoming HTTP request and the corresponding business logic that should be implemented to process this request

How to catch multiple exceptions explain with example, How to catch multipl...

How to catch multiple exceptions explain with example? If multiple blocks match the exception type, the first block in which matches the kinds of the exception catches it. pub

Conditional Operators, I need a chart and how this works with java? The fun...

I need a chart and how this works with java? The functions itself.

Explain the basic applet life cycle, Explain the Basic Applet Life Cycle ? ...

Explain the Basic Applet Life Cycle ? 1. The browser reads the HTML page and seraches any tags. 2. The browser parses the tag to search the CODE and possibly CODEBASE att

Write a bouncing ball game, Write a bouncing ball video game. The game is s...

Write a bouncing ball video game. The game is similar to the one described and depicted in Figure of the text book. The balls bounces within the screen where the two horizontal wal

Write Your Message!

Captcha
Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd