Hierarchical Inheritance in Java is a type of inheritance in which a single superclass is extended by multiple subclasses. This means that multiple classes inherit properties and behaviors from a single parent class.
Syntax:
class SuperClass {
// Superclass code
}
class SubClass1 extends SuperClass {
// Subclass1 code
}
class SubClass2 extends SuperClass {
// Subclass2 code
}Code language: JavaScript (javascript)
Program
A simple Java program demonstrating Hierarchical Inheritance for a Software Engineer hierarchy. We will have a base class SoftwareEngineer and two subclasses: FrontendEngineer and BackendEngineer.
// Superclass SoftwareEngineer
class SoftwareEngineer {
String name;
String role;
// Constructor
public SoftwareEngineer(String name) {
this.name = name;
this.role = "Software Engineer";
}
// Method to show role
public void showRole() {
System.out.println(name + " is a " + role);
}
}
// Subclass FrontendEngineer
class FrontendEngineer extends SoftwareEngineer {
public FrontendEngineer(String name) {
super(name);
this.role = "Frontend Engineer";
}
// Specific method for Frontend Engineer
public void developUI() {
System.out.println(name + " is developing the user interface.");
}
}
// Subclass BackendEngineer
class BackendEngineer extends SoftwareEngineer {
public BackendEngineer(String name) {
super(name);
this.role = "Backend Engineer";
}
// Specific method for Backend Engineer
public void developAPI() {
System.out.println(name + " is developing the backend API.");
}
}
// Main class for the demo
public class SoftwareEngineerDemo {
public static void main(String[] args) {
// Create instances of Frontend and Backend Engineers
FrontendEngineer frontendEngineer = new FrontendEngineer("Paani");
BackendEngineer backendEngineer = new BackendEngineer("Mahesh");
// Show role and specific work
frontendEngineer.showRole();
frontendEngineer.developUI();
System.out.println("--------------------");
backendEngineer.showRole();
backendEngineer.developAPI();
}
}
/*
Paani is a Frontend Engineer
Paani is developing the user interface.
--------------------
Mahesh is a Backend Engineer
Mahesh is developing the backend API.
Hierarchical Inheritance is a fundamental concept in object-oriented programming that allows multiple subclasses to inherit properties and behaviors from a single superclass. This type of inheritance is particularly useful in situations where there is a need to model different variations or specialized behaviors while still sharing common functionality.
