Inheritance and its types In Java

MDSALEEMQAISAR 1,061 views 18 slides Mar 22, 2018
Slide 1
Slide 1 of 18
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17
Slide 18
18

About This Presentation

Easy And simple way


Slide Content

Inheritance: Definition Inheritance : A parent-child relationship between classes allows sharing of the behavior of the parent class into its child classes one of the major benefits of object-oriented programming (OOP) is this code sharing between classes through inheritance Child class can add new behavior or override existing behavior from parent Reusability- building new components by utilising existing components- is yet another important aspect of OO paradigm. 22-03-2018 SALEEM QAISAR 1 Parent Child

Inheritance terms subclass, derived class, child class: Terms to describe the child in the relationship, which accepts functionality from its parent. class SubClassName extends SuperClassName { fields declaration; methods declaration; } The keyword “ extends ” signifies that the properties of super class are extended to the subclass. That means, subclass contains its own members as well of those of the super class. This kind of situation occurs when we want to enhance properties of existing class without actually modifying it. 22-03-2018 SALEEM QAISAR 2

Syntax Of Inheritance public class Class extends ParentClass {   //new variable or methods here } Example: 22-03-2018 SALEEM QAISAR 3

superclass , base class, parent class: terms to describe the parent in the relationship, which shares its functionality extend, inherit, derive: Become a subclass of another class. 22-03-2018 SALEEM QAISAR 4

Types Of Inheritance Single inheritance Multiple inheritance Hierarchical inheritance Multi-Level inheritance Hybrid inheritance Multi-path inheritance 22-03-2018 SALEEM QAISAR 5

Single inheritance Single Inheritance is the simple inheritance of all, When a class extends another class(Only one class) then we  call it as Single inheritance. The below diagram represents the single inheritance in java where Class B extends only one class  Class A. Here Class B will be the Sub class and Class A will be one and only Super class. 22-03-2018 SALEEM QAISAR 6

Multiple inheritance Multiple Inheritance  is nothing but one class extending more than one class. Multiple Inheritance is basically not supported by many Object Oriented Programming languages such as Java, Small Talk, C# etc.. (C++ Supports Multiple Inheritance). As the Child class has to manage the dependency of more than one Parent class. But you can achieve multiple inheritance in Java using Interfaces. 22-03-2018 SALEEM QAISAR 7

Multi-Level inheritance In Multilevel Inheritance a derived class will be inheriting a parent class and as well as the derived class act as the parent class to other class. As seen in the below diagram.  Class B inherits the property of  Class A  and again  Class B  act as a parent for  Class C . In Short  Class A parent for  Class B  and  Class B   parent for  Class C . 22-03-2018 SALEEM QAISAR 8

Hierarchical inheritance In Hierarchical inheritance one parent class will be inherited by many sub classes. As per the below example  Class A  will be inherited by  Class B , Class C  and  Class D .  Class A  will be acting as a parent class for  Class B , Class C  and  Class D . 22-03-2018 SALEEM QAISAR 9

Hybrid Inheritance Hybrid Inheritance is the combination of both Single and Multiple Inheritance. Again Hybrid inheritance is also not directly supported in Java only through interface we can achieve this. Flow diagram of the Hybrid inheritance will look like below. As you can  Class A  will be acting as the Parent class for  Class B & Class C  and  Class B & Class C  will be acting as Parent for  Class D . 22-03-2018 SALEEM QAISAR 10

Access modifiers Java provides a number of access modifiers to set access levels for classes, variables, methods, and constructors. The four access levels are: Default Access Modifier - No Keyword Private Access Modifier - Private Public Access Modifier - Public Protected Access Modifier - Protected 22-03-2018 SALEEM QAISAR 11

Default - No Keyword Default access modifier means we do not explicitly declare an access modifier for a class, field, method, etc . A variable or method declared without any access control modifier is available to any other class in the same package. The fields in an interface are implicitly public static final and the methods in an interface are by default public . Example: Variables and methods can be declared without any modifiers, as in the following examples − String version = "1.5.1"; boolean processOrder () { return true ; } 22-03-2018 SALEEM QAISAR 12

Access Modifier - Private Methods , variables, and constructors that are declared private can only be accessed within the declared class itself . Private access modifier is the most restrictive access level. Class and interfaces cannot be private . Private access modifier is the most restrictive access level. Class and interfaces cannot be private . Using the private modifier is the main way that an object encapsulates itself and hides data from the outside world. 22-03-2018 SALEEM QAISAR 13

Example public class Logger { private String format; public String getFormat () { return this.format ; } public void setFormat (String format ) { this.format = format ; } } 22-03-2018 SALEEM QAISAR 14

Access Modifier - Public A class, method, constructor, interface, etc. declared public can be accessed from any other class. Therefore, fields, methods, blocks declared inside a public class can be accessed from any class belonging to the Java Universe . However, if the public class we are trying to access is in a different package, then the public class still needs to be imported. Because of class inheritance, all public methods and variables of a class are inherited by its subclasses . Example: public static void main(String[] arguments) { // ... } 22-03-2018 SALEEM QAISAR 15

Access Modifier - Protected Variables, methods, and constructors, which are declared protected in a superclass can be accessed only by the subclasses in other package or any class within the package of the protected members' class . The protected access modifier cannot be applied to class and interfaces. Methods, fields can be declared protected, however methods and fields in a interface cannot be declared protected . Protected access gives the subclass a chance to use the helper method or variable, while preventing a nonrelated class from trying to use it. 22-03-2018 SALEEM QAISAR 16

Example The following parent class uses protected access control, to allow its child class override  openSpeaker ()  method − class AudioPlayer { protected boolean openSpeaker (Speaker sp ) { // implementation details } } class StreamingAudioPlayer { boolean openSpeaker (Speaker sp ) { // implementation details } } 22-03-2018 SALEEM QAISAR 17

THANKS ANY Q?? 22-03-2018 SALEEM QAISAR 18
Tags