OOPM C++ INHERITANCE IN C++
WHAT IS INHERITANCE ? 2 Let’s Understand…..
DEFINITION The capability of a class to derive properties and characteristics from another class is called Inheritance. Inheritance is one of the most important feature of Object Oriented Programming. • Sub Class: The class that inherits properties from another class is called Sub class or Derived Class. • Super Class: The class whose properties are inherited by sub class is called Base Class or Super class. 3
4
WHY AND WHEN TO USE INHERITANCE? 5 Let’s Understand…..
REASON  • Consider a group of vehicles. You need to create classes for Bus, Car and Truck. The methods fuelAmount(), capacity(), applyBrakes() will be same for all of the three classes. If we create these classes avoiding inheritance then we have to write all of these functions in each of the three classes as shown in below figure: 6
USE We can clearly see that above process results in duplication of same code 3 times. This increases the chances of error and data redundancy. To avoid this type of situation, inheritance is used. If we create a class Vehicle and write these three functions in it and inherit the rest of the classes from the vehicle class, then we can simply avoid the duplication of data and increase re-usability. Look at the below diagram in which the three classes are inherited from vehicle class: 7
PRACTICAL IMPLIMENTATION 8
BENEFIT OF INHERITANCE Using inheritance, we have to write the functions only one time instead of three times as we have inherited rest of the three classes from base class(Vehicle). 9
IMPLIMENTATION 10 Let’s Do It Practically…..
MODES OF INHERITANCE 11 Public mode: If we derive a sub class from a public base class. Then the public member of the base class will become public in the derived class and protected members of the base class will become protected in derived class. Protected mode: If we derive a sub class from a Protected base class. Then both public member and protected members of the base class will become protected in derived class. Private mode: If we derive a sub class from a Private base class. Then both public member and protected members of the base class will become Private in derived class.
12
SINGLE INHERITANCE 13 In single inheritance, a class is allowed to inherit from only one class. i.e. one sub class is inherited by one base class only.
14
MULTIPLE INHERITANCE 15 Multiple Inheritance is a feature of C++ where a class can inherit from more than one classes. i.e one sub class is inherited from more than one base classes.
16
MULTILEVEL INHERITANCE 17 Multilevel Inheritance In this type of inheritance, a derived class is created from another derived class.
18
HIERARCHICAL INHERITANCE 19 Hierarchical Inheritance In this type of inheritance, more than one sub class is inherited from a single base class. i.e. more than one derived class is created from a single base class.
20
HYBRID (VIRTUAL) INHERITANCE 21 Hybrid Inheritance is implemented by combining more than one type of inheritance. For example: Combining Hierarchical inheritance and Multiple Inheritance.
22
THANK YOU! ~Gajendra Singh Thakur https://www.linkedin.com/in/gajendrasinghthakur/ 23

Inheritance In C++ (Object Oriented Programming)

  • 1.
  • 2.
    WHAT IS INHERITANCE? 2 Let’s Understand…..
  • 3.
    DEFINITION The capability ofa class to derive properties and characteristics from another class is called Inheritance. Inheritance is one of the most important feature of Object Oriented Programming. • Sub Class: The class that inherits properties from another class is called Sub class or Derived Class. • Super Class: The class whose properties are inherited by sub class is called Base Class or Super class. 3
  • 4.
  • 5.
    WHY AND WHENTO USE INHERITANCE? 5 Let’s Understand…..
  • 6.
    REASON  • Consider agroup of vehicles. You need to create classes for Bus, Car and Truck. The methods fuelAmount(), capacity(), applyBrakes() will be same for all of the three classes. If we create these classes avoiding inheritance then we have to write all of these functions in each of the three classes as shown in below figure: 6
  • 7.
    USE We can clearlysee that above process results in duplication of same code 3 times. This increases the chances of error and data redundancy. To avoid this type of situation, inheritance is used. If we create a class Vehicle and write these three functions in it and inherit the rest of the classes from the vehicle class, then we can simply avoid the duplication of data and increase re-usability. Look at the below diagram in which the three classes are inherited from vehicle class: 7
  • 8.
  • 9.
    BENEFIT OF INHERITANCE Usinginheritance, we have to write the functions only one time instead of three times as we have inherited rest of the three classes from base class(Vehicle). 9
  • 10.
  • 11.
    MODES OF INHERITANCE 11 Publicmode: If we derive a sub class from a public base class. Then the public member of the base class will become public in the derived class and protected members of the base class will become protected in derived class. Protected mode: If we derive a sub class from a Protected base class. Then both public member and protected members of the base class will become protected in derived class. Private mode: If we derive a sub class from a Private base class. Then both public member and protected members of the base class will become Private in derived class.
  • 12.
  • 13.
    SINGLE INHERITANCE 13 In singleinheritance, a class is allowed to inherit from only one class. i.e. one sub class is inherited by one base class only.
  • 14.
  • 15.
    MULTIPLE INHERITANCE 15 Multiple Inheritanceis a feature of C++ where a class can inherit from more than one classes. i.e one sub class is inherited from more than one base classes.
  • 16.
  • 17.
    MULTILEVEL INHERITANCE 17 Multilevel InheritanceIn this type of inheritance, a derived class is created from another derived class.
  • 18.
  • 19.
    HIERARCHICAL INHERITANCE 19 Hierarchical InheritanceIn this type of inheritance, more than one sub class is inherited from a single base class. i.e. more than one derived class is created from a single base class.
  • 20.
  • 21.
    HYBRID (VIRTUAL) INHERITANCE 21 HybridInheritance is implemented by combining more than one type of inheritance. For example: Combining Hierarchical inheritance and Multiple Inheritance.
  • 22.
  • 23.
    THANK YOU! ~Gajendra SinghThakur https://www.linkedin.com/in/gajendrasinghthakur/ 23