Heirarichal Inheritance

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.

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top