• Java Inheritanceis a core concept in OOP , It is the
mechanism in Java by which one class is allowed to inherit the
features(variables and methods) of another class.
• In Java, Inheritance means creating new classes based on
existing ones.
• A class that inherits from another class can reuse the methods
and fields of that class. In addition, you can add new fields
and methods to your current class as well.
Inheritance
3.
• Generalization: wecan access all the superclass methods, but not
the subclass methods.
• Specialization: we can access all the superclass and subclass
methods.
Inheritance
4.
• Superclass andSubclass:
- Super Class : The class whose features are inherited is known
as a superclass(or a base class or a parent class).
- Sub Class : The class that inherits the other class is known as
a subclass(or a derived class, extended class, or child class).
The subclass can add its own variables and methods in
addition to the superclass variables and methods.
Inheritance
5.
• A subclassinherites all the members(fields , methods , and
nested classes) from its superclass.
• The extends keyword is used for inheritance in Java. Using
the extends keyword indicates you are derived from an
existing class.
• Syntax :
class DerivedClass extends BaseClass
{
//methods and variables
}
Inheritance
6.
• Constructor Behavior:
-Constructors are not member so they are not inherited by
subclasses.
- The constructor of the superclass can be invoked from the
subclass.
- When a subclass is instantiated, the constructor of the
superclass is called first, either implicitly or explicitly using
super().
Inheritance
7.
• Super Keyword:
-The super keyword is used to refer to the immediate parent
class. It can be used to call superclass methods and
constructors.
- It can be used to Calling:
- Superclass Methods ( super.name of method() ).
- Superclass Constructors ( super() ).
Inheritance
• In singleinheritance, a sub-class is
derived from only one super class.
• It inherits the properties and behavior
of a single-parent class.
• Sometimes, it is also known as simple
inheritance.
Single Inheritance
10.
• In MultilevelInheritance, a derived class
will be inheriting a base class, and as
well as the derived class also acts as the
base class for other classes.
Multilevel Inheritance
11.
• In HierarchicalInheritance, one class
serves as a superclass (base class) for
more than one subclass that means
(Multiple subclasses inherit from a
single superclass).
Hierarchical Inheritance
12.
• In Multipleinheritances, one class can
have more than one superclass and
inherit features from all parent classes.
• Java does not support multiple
inheritances with classes to avoid
confusion.
• In Java, we can achieve multiple
inheritances only through Interfaces.
Multiple Inheritance
13.
• Hybrid ismix of two or more of the
above types of inheritance.
• Since Java doesn’t support multiple
inheritances with classes, hybrid
inheritance involving multiple inheritance
is also not possible with classes.
• In Java, we can achieve hybrid
inheritance only through Interfaces.
Hybrid Inheritance
14.
• What canwe do in subclass:
• We can declare new variables and methods in the subclass that
are not in the superclass.
• The inherited variables and methods can be used directly, just
like any other variables and methods.
• We can write a new instance method in the subclass that has the
same signature as the one in the superclass, thus overriding it.
• We can write a subclass constructor that invokes the constructor
of the superclass, either implicitly or by using the
keyword super.
Inheritance
15.
• Java IS-Atype of Relationship:
• Is an OOP concept that describes the inheritance relationship
between classes.
• It signifies that one class is a subtype of another class.
• Subclass IS-A Superclass.
• This relationship is established through inheritance, where a
subclass inherits from a superclass.
• The IS-A relationship indicates that an object of a subclass can
be treated as an object of its superclass. For example, if Dog is
a subclass of Animal, then a Dog is an Animal.
Inheritance
16.
• Every classin Java applies the concept of inheritance, whether
explicitly or implicitly.
• Any class that is not inherited from any other class is implicitly
inherited from a class that exists in Java called Object.
• An Object is a class that is the parent class of every class and is
not inherited from any other class.
Inheritance
17.
• Is derivedfrom tow Greek words poly and morphs.
• The word poly means many and morphs means forms so
polymorphism means many forms.
• This concept is a key feature of OOP and it allows objects to
behave differently based on their specific class type.
• It refers to the use of a single type entity (method , operator ,
object) to represent different operations (type) in different
scenarios.
Polymorphism
18.
• Real-life Illustrationof Polymorphism in Java:
A person can have different characteristics at the same time. Like a
man at the same time is a father, a husband, and an employee. So
the same person possesses different behaviors in different
situations. This is called polymorphism.
Polymorphism
19.
• We canachieve polymorphism
in Java using the following ways:
- Overloading: This is an example
of compile time polymorphism
(static polymorphism or early
binding).
- Overriding: this is an example of
runtime polymorphism (Dynamic
Method Dispatch or late
binding).
Polymorphism
20.
• Method overloadingin Java means when there are multiple
functions with the same name but different signatures then these
functions are said to be overloaded.
• Functions can be overloaded by changes in the (number
or/and type or/and order) of arguments.
• We can use overloading with constructors.
• Method overloading increases the readability of the program.
• Use overloading to perform different tasks so allow us to
perform a single action in different ways.
Overloading
21.
• Method overridingoccurs when a derived class has a definition
for one of the member functions of the base class. That base
function is said to be overridden.
• Rules for Java method overriding:
There must be an IS-A relationship (inheritance).
The method must have the same name as in the parent class.
The method must have the same parameter as in the parent
class.
Overriding
22.
• Benefits ofPolymorphism:
o Code Reusability: Common interfaces allow for code to be
reused across different classes.
o Flexibility and Maintenance: Changes in the superclass can
propagate to subclasses, making maintenance easier.
o Dynamic Binding: The decision of which method to invoke is
made at runtime, providing greater flexibility.
polymorphism