0% found this document useful (0 votes)
11 views

Inheritance in Java OOPs

Inheritance in Java is a mechanism where one class acquires properties of another, promoting code reusability. There are various types of inheritance including single, multilevel, hierarchical, and hybrid, though Java does not support multiple inheritance. The super keyword is used to access parent class members, and inheritance is essential in object-oriented programming for efficient code management and adaptability to changes.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
11 views

Inheritance in Java OOPs

Inheritance in Java is a mechanism where one class acquires properties of another, promoting code reusability. There are various types of inheritance including single, multilevel, hierarchical, and hybrid, though Java does not support multiple inheritance. The super keyword is used to access parent class members, and inheritance is essential in object-oriented programming for efficient code management and adaptability to changes.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 32

Inheritance in Java

OOPs
What is Inheritance?

Inheritance is a mechanism in which one class acquires the property of


another class. For example, a child inherits the traits of his/her parents.
With inheritance, we can reuse the fields and methods of the existing
class. Hence, inheritance facilitates Reusability and is an important
concept of OOPs.
In this lesson, you will learn-
• Types of Inheritance
• Inheritance in Java
• Java Inheritance Example
• Super Keyword
• Learn Inheritance in OOP’s with Example
Types of Inheritance

Single
Inheritance:
In Single
Inheritance one
class extends
another class (one
class only).
In above diagram, Class B extends only Class A. Class A is a
super class and Class B is a Sub-class.
Multiple Inheritance:

In Multiple Inheritance,
one class extending
more than one class.
Java does not support
multiple inheritance.
Multilevel Inheritance:

In Multilevel
Inheritance, one
class can inherit
from a derived
class. Hence, the
derived class
becomes the
base class for
the new class.
As per shown in diagram Class C is subclass of B and B is a of
subclass Class A.
Hierarchical Inheritance:

In Hierarchical Inheritance, one class is inherited by many sub classes.


Hybrid Inheritance:

• Hybrid inheritance is a combination of Single and Multiple


inheritance.
Note: Java doesn't support hybrid/Multiple inheritence
Inheritance In Java

JAVA INHERITANCE is a mechanism in which one class acquires the


property of another class. In Java, when an "Is-A" relationship exists
between two classes, we use Inheritance. The parent class is called a
super class and the inherited class is called a subclass. The keyword
extends is used by the sub class to inherit the features of super class.

Inheritance is important since it leads to the reusability of code.


Java Inheritance Syntax:
Java Inheritance Example
Super Keyword

• The super keyword is similar to "this" keyword.


• The keyword super can be used to access any data member or
methods of the parent class.
• Super keyword can be used at variable, method and constructor level.

Syntax:
As displayed in the above figure, Programmer is the subclass and Employee is the superclass. The
relationship between the two classes is Programmer IS-A Employee. It means that Programmer is a
type of Employee.
In the above example, Programmer object can access the field of own class as well as of
Employee class i.e. code reusability.
Types of inheritance in java
Single Inheritance Example
When a class inherits
another class, it is
known as a single
inheritance. In the
example given below,
Dog class inherits the
Animal class, so there
is the single
inheritance.

Program 1
Multilevel
Inheritance
Example
When there is a chain of
inheritance, it is known
as multilevel
inheritance. As you can
see in the example given
below, BabyDog class
inherits the Dog class
which again inherits the
Animal class, so there is
a multilevel inheritance. Program 2
Hierarchical Inheritance Example
When two or more
classes inherits a
single class, it is
known
as hierarchical
inheritance. In the
example given
below, Dog and Cat
classes inherits the
Animal class, so
there is hierarchical
inheritance.
Program 3
Learn Inheritance in OOP’s with
Example
Consider a banking application

We are supposed to open two different account types, one for saving
and another for checking (also known as current).
Let's compare and
study how we can
approach coding from
a structured and
object-oriented
programming
perspective. Structural
approach: In structured
programming, we will
create two functions –

• One to withdraw
• And the other for
deposit action.
OOP's approach: While using the OOPs
programming approach. We would create two
classes.
• Each having implementation of the deposit and withdraw functions.
• This will redundant extra work.
Change Request in Software

Now there is a change in the


requirement specification for
something that is so common in the
software industry. You are supposed to
add functionality privileged Banking
Account with Overdraft Facility. For a
background, overdraft is a facility where
you can withdraw an amount more
than available the balance in your
account.
Structural approach: Using
functional approach, I have
to modify my withdraw
function, which is already
tested and baselined. And
add a method like below will
take care of new
requirements
OOP's approach: Using OOP's approach, you just need to write a new
class with unique implementation of withdraw function. We never
touched the tested piece of code.
Another Change Request

What if the
requirement
changes further?
Like to add credit
card account with
its own unique
requirement of
deposits.
Structural approach: Using structural approach
you have to change tested piece of deposit code
again.
• OOP's approach: But using object-oriented approach, you will just
create a new class with its unique implementation of deposit method
( highlighted red in the image below).
• So even though the structural programming seems like an easy
approach initially, OOP's wins in a long term.
Advantage of Inheritance in
OOPs
But one may argue that across all classes, you have a repeated pieces of
code.
To overcome this, you create a parent class, say "account" and implement
the same function of deposit and withdraw. And make child classes
inherited "account" class. So that they will have access to withdraw and
deposit functions in account class.

To overcome this, you create a parent class, say "account" and implement
the same function of deposit and withdraw. And make child classes
inherited "account" class. So that they will have access to withdraw and
deposit functions in account class.
Program 5

You might also like