Use of Inheritance in Java:
Inheritance is a fundamental concept in object-oriented programming (OOP) languages like Java. It allows a class (subclass or derived class) to inherit properties and behavior from another class (superclass or base class). This facilitates code reuse, promotes modularity, and enables the creation of hierarchical relationships between classes.
Example:
Let's consider a real-life analogy to understand inheritance better. Suppose we have a class hierarchy representing different vehicles:
1. Vehicle (Base Class):
- Properties: make, model, year
- Behaviors: start(), stop(), accelerate(), brake()
2. Car (Subclass of Vehicle):
- Additional Properties: numDoors, color
- Additional Behaviors: honk()
3. Truck (Subclass of Vehicle):
- Additional Properties: cargoCapacity
- Additional Behaviors: loadCargo(), unloadCargo()
Code Example:
// Base class representing a Vehicle
class Vehicle {
String make;
String model;
int year;
void start() {
System.out.println("Starting the vehicle...");
}
void stop() {
System.out.println("Stopping the vehicle...");
}
void accelerate() {
System.out.println("Accelerating the vehicle...");
}
void brake() {
System.out.println("Applying brakes...");
}
}
// Subclass Car inheriting from Vehicle
class Car extends Vehicle {
int numDoors;
String color;
void honk() {
System.out.println("Beep beep!");
}
}
// Subclass Truck inheriting from Vehicle
class Truck extends Vehicle {
int cargoCapacity;
void loadCargo() {
System.out.println("Loading cargo...");
}
void unloadCargo() {
System.out.println("Unloading cargo...");
}
}
public class Main {
public static void main(String[] args) {
Car car = new Car();
car.make = "Toyota";
car.model = "Camry";
car.year = 2022;
car.numDoors = 4;
car.color = "Red";
car.start();
car.accelerate();
car.honk();
car.stop();
Truck truck = new Truck();
truck.make = "Ford";
truck.model = "F-150";
truck.year = 2020;
truck.cargoCapacity = 5000;
truck.start();
truck.loadCargo();
truck.stop();
truck.unloadCargo();
}
}
Explanation:
- The `Vehicle` class serves as the base class with common properties and behaviors shared by all vehicles.
- The `Car` and `Truck` classes inherit from the `Vehicle` class, gaining access to its properties and behaviors.
- The subclasses `Car` and `Truck` can also have their own unique properties and behaviors in addition to what they inherit from the `Vehicle` class.
- In the example, we create instances of both `Car` and `Truck` and demonstrate how they inherit and utilize properties and behaviors from the `Vehicle` class.
This demonstrates how inheritance facilitates code reuse and abstraction, allowing us to model real-world entities more effectively.
Comments
Post a Comment