The type Vehicle has drive functionality. The classes Car and Bike implements the drive functionality and can be further subclassed. Fill in the given code with appropriate access specifier so that the subclasses of Car and Bike do not modify the Drive functionality.interface Vehicle{ void drive();}class Car implements Vehicle{ final void drive() { //drive } }
Question
The type Vehicle has drive functionality. The classes Car and Bike implements the drive functionality and can be further subclassed. Fill in the given code with appropriate access specifier so that the subclasses of Car and Bike do not modify the Drive functionality.interface Vehicle{ void drive();}class Car implements Vehicle{ final void drive() { //drive } }
Solution
The code you provided is in Java. However, there is a small mistake. In Java, you cannot use the final keyword in the method declaration of an interface. The final keyword is used to prevent method overriding, but in an interface, methods are implicitly abstract and are meant to be overridden by the classes that implement the interface.
Here is the corrected code:
interface Vehicle{
void drive();
}
class Car implements Vehicle{
public void drive()
{
//drive
}
}
class Bike implements Vehicle{
public void drive()
{
//drive
}
}
In this code, the drive() method is declared in the Vehicle interface and is implemented in the Car and Bike classes. The public access specifier is used so that the method can be accessed anywhere.
If you want to prevent subclasses of Car and Bike from modifying the drive() method, you can declare it as final in these classes:
class Car implements Vehicle{
public final void drive()
{
//drive
}
}
class Bike implements Vehicle{
public final void drive()
{
//drive
}
}
Now, any class that extends Car or Bike will not be able to override the drive() method.
Similar Questions
interface AC { public void onAC(); public void offAC();}interface Camera { public boolean reverseGearStatus();}interface Bluetooth { public void receiveCall(); public void makeCall();}interface Car , , { //Functions of car}public class FordCar Car{ //Implementation of all abstract methods //in AC, Camera, Bluetooth and Car}
Develop a Java Application with ‘Vehicle’ Class with vehicle type, vehicle number, as member. Inherit the classes bicycle, car, bike, and lorry from vehicle class. Consider car and bike only as passenger vehicle. Get inputs engine number, chassis number, top speed, number of passengers, number of gears for Passenger vehicle, and if is not a passenger vehicle, get inputs total amount of load to carry for the respective inherited classes. Generate a report for the vehicles. Implement the concept using inheritance and method overriding.
Assume few interfaces, Loan and Insurance and a class Bike.Also lets define a class BenelliBike. Establish relationship between BenelliBike and Bike, Loan and Insurance.public interface Loan { //some methods}public interface Insurance { //some methods}public class Bike { //some code}public class BenelliBike blank blank blank blank{ //some code}implements Loan,Insurance Bike extends
Which of the following would be a part of an OOP implementation of cars, trains, and vehicles?*requiredThe train class abstracts the vehicle classThe car class inherits from the vehicle classThe vehicle class implements the car classThe vehicle class encapsulates the car class
This assignment will assess your skills and knowledge on implementing interfaces to define contracts and enforce common behavior across multiple classes.Context: You are tasked with developing a software application for a car rental agency. The application needs to handle different types of vehicles, including cars, motorcycles, and trucks. To enforce a common behavior and ensure consistency among these vehicle types, you decide to utilize interfaces. Additionally, you want to incorporate various small modules into the question to make it engaging and interactive for the developers.For this assignment, Compose a Java programming question that incorporates the following modules:Design and implement an interface named "Vehicle" that includes methods for retrieving the vehicle's make, model, and year of manufacture.Develop a class named "Car" that implements the Vehicle and "CarVehicle" interfaces. This interface includes additional methods for setting and retrieving the number of doors and the fuel type (petrol, diesel, or electric).Construct a class named "Motorcycle" that also implements Vehicle and the "MotorVehicle" interfaces. This interface should have methods for setting and retrieving the number of wheels and the type of motorcycle (sport, cruiser, or off-road).Generate a class named "Truck" that implements the Vehicle and "TruckVehicle" interfaces. This interface should include methods for setting and retrieving the cargo capacity (in tons) and the transmission type (manual or automatic).Integrate all the classes into a main program that allows the user to create objects of different vehicle types, provide relevant information, and display the details of each vehicle.You will be accessed based on the following criteria:The interface design in the Vehicle Information System provides a contract specifying the methods for retrieving and setting vehicle details, ensuring a consistent structure for different vehicle types.The class implementation in the Vehicle Information System translates the interface specifications into concrete implementations for different vehicle types, enabling the storage and retrieval of specific attributes and behaviors.The main program in the Vehicle Information System allows users to interactively create, input, and display details of various vehicle objects, providing a comprehensive interface for managing and accessing vehicle information.The code quality in the Vehicle Information System emphasizes readability, maintainability, and adherence to best practices, ensuring a clean and well-structured codebase that promotes efficient development and future scalability.The error handling mechanism in the Vehicle Information System effectively manages and gracefully handles potential exceptions or invalid user inputs, ensuring a robust and stable application experience.The documentation in the Vehicle Information System provides clear and comprehensive explanations of classes, methods, and their functionalities, aiding developers in understanding and maintaining the codebase effectively.Remember to use appropriate variable names and follow coding best practices.
Upgrade your grade with Knowee
Get personalized homework help. Review tough concepts in more detail, or go deeper into your topic by exploring other relevant questions.