SlideShare ist ein Scribd-Unternehmen logo
1 von 31
Prepared by : SELVIN JOSY BAI. S
 Itis the capability of one
  class to inherit properties
  from another class.
 The technique of building
  new classes from the
  existing classes is called
  inheritance.
Base Class /
 Super Class

        Derived from




Derived Class /
  Sub Class
  It is the class whose
  properties are inherited by
  another class.
 It is also called Super
  Class.
 It is the class that inherit
  properties from base class(es).
 It is also called Sub Class.
 It inherits all the properties of
  the base class and can add
  additional features to the
  derived class.
 CODE   REUSABILITY

 EASY
     TO IMPLEMENT REAL
 WORLD MODELS

 TRANSITIVE   NATURE
 It is any of the access labels:
  private, public or protected.
 It defines the accessibility of the
  members of the base class within
  the derived class.
 If the visibility mode is not
  specified, it will be taken as
  private by default.
 Privatemembers can never be
 inherited. Only the public and
 protected members can be
 inherited to the derived class. This
 is the difference between the
 private and protected members.
VISIBILITY MODES
                         Derived class visibility

Base Class
Visibility   Public          Private         Protected
             derivation      derivation      derivation

Private      Not             Not             Not
             inherited       inherited       inherited

Protected    Protected       Private         Protected


Public       Public          Private         Protected
Access       Accessible    Accessible   Accessible
Specifier of    from own    from derived from objects
 members           class        class    outside class

 PRIVATE          YES           NO            NO

  PUBLIC          YES           YES           YES

PROTECTED         YES           YES           NO
 Private members of the base class cannot
  be inherited with any of the visibility
  mode.
 One is by making the visibility mode of
  private members as public, but they will
  be exposed to the outside world.
 Another is to convert the private members
  into protected so that they will be hidden
  from the outside world but can be
  inherited.
Friendship                      Derivation
Provide access to private and   Private members cannot be
protected members.              derived into another class.

A non-member function can       It shares the features of base
make friendship to a class      class and adds some more
                                attributes
Two independent classes can     The derived classes are created
have friendship, where friend   with the help of base class.
function acts as bridge         Derived class is a special
between them.                   instance of base class.
Friendship is not Derivation    Derivation is a kind of
                                Friendship.
1.   SINGLE INHERITANCE
2.   MULTIPLE INHERITANCE
3.   HIERARCHICAL INHERITANCE
4.   MULTILEVEL INHERITANCE
5.   HYBRID INHERITANCE
 Derivation of a class from only
  one base class is called SINGLE
  Inheritance.
 In the figure class Y is derived
  from class X.

               X       BASE CLASS


               Y       DERIVED CLASS
class DerivedClassName : [visibility mode]
  BaseClassName
{
  //DataMembers and MemberFunctions;
}

Example:
class Automobile : public Vehicle
{
  //DataMembers and MemberFunctions;
}
 Derivation of a class from SEVERAL
  (TWO OR MORE) base classes is
  called MULTIPLE Inheritance.
 In the figure class Z is derived from
  both the classes X & Y.

         X         Y    BASE CLASSES



               Z        DERIVED CLASS
class DerivedClassName : [visibility mode]
  BaseClassName1, [visibility mode] BaseClassName1
{
  //DataMembers and MemberFunctions;
}

Example:
class CHILD : public FATHER, public MOTHER
{
  //DataMembers and MemberFunctions;
}
 Derivation of SEVERAL classes from
  SINGLE base class is called
  HIERARCHICAL Inheritance.
 In the figure the classes Y & Z is
  derived from the same class X.

             X        BASE CLASSES


         Y        Z   DERIVED CLASS
class DerivedClassName1 : [visibility mode] BaseClassName
{
   ----------;
}

class DerivedClassName2 : [visibility mode] BaseClassName
{
   ----------;
}

Example:                   Example:
class Y : public X         class Z : public X
{                          {
---------;                 ---------;
}                          }
   When a sub class is
    derived from a base            X
    class which itself is
    derived from another
    class, it is known as
    MULTILEVEL Inheritance.        Y
   In the figure the class Z is
    derived from class Y,
    which is a derived class
    that is inherited from the     Z
    class X.
class DerivedClassName1 : [visibility mode] BaseClassName
{
   ----------;
}

class DerivedClassName2 : [visibility mode] DerivedClassName1
{
   ----------;
}

Example:                   Example:
class Y : public X         class Z : public Y
{                          {
---------;                 ---------;
}                          }
   Derivation of a class
    involving more than              W
    one form of Inheritance
    is known as HYBRID
    inheritance.                 X       Y
   As it is the derivation of
    a class from other
    derived classes, which           Z
    are derived from the
    same base class.
 The derived class need have a
  constructor as long as the base
  class has a no-argument
  constructor.
 If the base class has constructors
  with arguments, then it is mandatory
  for the derived class to have a
  constructor and pass the arguments
  to the base class constructor.
 When an object of a derived class is
  created, the constructor of the base
  class is executed first and later the
  constructor of the derived class.
 Unlike constructors, destructors in
  the class hierarchy are invoked in
  the reverse order of the constructor
  invocation.
 It is one that has no instances and is
  not designed to create objects.
 It is only designed to be inherited
  from.
 It specifies an interface at a certain
  level of inheritance and provides a
  framework or skeleton, upon which
  other classes can be built.
   When classes are derived in the
    form of hybrid inheritance, there can
    be a problem by which multiple
    copies of the base class members
    come in the lowest level derived
    class through the various
    intermediate subclasses. Here
    comes the virtual base class for
    rescue.
class A
{ public:
    int a;
};
                                Class B
class B : public A
{ public:                      contains
    int b;                     a and b
};

class C : public A
                               Class C
{ public:                      contains
    int c;                     a and c
};

class D : public B, public C     Class D
{ public:                      contains a,b,
    int d;
};
                                 a,c, & d
class A
{ public:             only one copy of A will be inherited
    int a;
};
                                     Class B
class B : virtual public A
{ public:                           contains
    int b;                          a and b
};

class C : virtual public A
                                    Class C
{ public:                           contains
    int c;                          a and c
};

class D : public B, public C           Class D
{ public:                            contains a,b,
    int d;
};
                                        c, & d
 In inheritance, if the class D is derived
  from the class B, it is said that D is a kind
  of B; the class D has all the properties of
  B in addition to the features of its own.
 In OOP, the containership occurs when
  an object of one class is contained in
  another class as a data member.
 In other words, a class can contain
  objects of other classes as its members.
class ABC
{
   int a;
   float b;
   public:
      void fab();
};
class PQR
{
   int p;
   float q;
   public:
      ABC ob1;
      void fab();
};

Weitere ähnliche Inhalte

Was ist angesagt?

Inheritance
InheritanceInheritance
InheritanceTech_MX
 
Class and object in C++
Class and object in C++Class and object in C++
Class and object in C++rprajat007
 
Virtual base class
Virtual base classVirtual base class
Virtual base classTech_MX
 
classes and objects in C++
classes and objects in C++classes and objects in C++
classes and objects in C++HalaiHansaika
 
friend function(c++)
friend function(c++)friend function(c++)
friend function(c++)Ritika Sharma
 
Class and Objects in Java
Class and Objects in JavaClass and Objects in Java
Class and Objects in JavaSpotle.ai
 
oops concept in java | object oriented programming in java
oops concept in java | object oriented programming in javaoops concept in java | object oriented programming in java
oops concept in java | object oriented programming in javaCPD INDIA
 
Type casting in java
Type casting in javaType casting in java
Type casting in javaFarooq Baloch
 
Method Overloading In Java
Method Overloading In JavaMethod Overloading In Java
Method Overloading In JavaCharthaGaglani
 
C++ Inheritance Tutorial | Introduction To Inheritance In C++ Programming Wit...
C++ Inheritance Tutorial | Introduction To Inheritance In C++ Programming Wit...C++ Inheritance Tutorial | Introduction To Inheritance In C++ Programming Wit...
C++ Inheritance Tutorial | Introduction To Inheritance In C++ Programming Wit...Simplilearn
 

Was ist angesagt? (20)

Inheritance
InheritanceInheritance
Inheritance
 
Inheritance
InheritanceInheritance
Inheritance
 
Class and object in C++
Class and object in C++Class and object in C++
Class and object in C++
 
[OOP - Lec 18] Static Data Member
[OOP - Lec 18] Static Data Member[OOP - Lec 18] Static Data Member
[OOP - Lec 18] Static Data Member
 
Virtual base class
Virtual base classVirtual base class
Virtual base class
 
Interface in java
Interface in javaInterface in java
Interface in java
 
classes and objects in C++
classes and objects in C++classes and objects in C++
classes and objects in C++
 
Inheritance in OOPS
Inheritance in OOPSInheritance in OOPS
Inheritance in OOPS
 
07. Virtual Functions
07. Virtual Functions07. Virtual Functions
07. Virtual Functions
 
Inheritance in java
Inheritance in javaInheritance in java
Inheritance in java
 
Data types in java
Data types in javaData types in java
Data types in java
 
friend function(c++)
friend function(c++)friend function(c++)
friend function(c++)
 
Class and Objects in Java
Class and Objects in JavaClass and Objects in Java
Class and Objects in Java
 
Method overriding
Method overridingMethod overriding
Method overriding
 
oops concept in java | object oriented programming in java
oops concept in java | object oriented programming in javaoops concept in java | object oriented programming in java
oops concept in java | object oriented programming in java
 
Type casting in java
Type casting in javaType casting in java
Type casting in java
 
Method Overloading In Java
Method Overloading In JavaMethod Overloading In Java
Method Overloading In Java
 
Encapsulation C++
Encapsulation C++Encapsulation C++
Encapsulation C++
 
Inheritance
InheritanceInheritance
Inheritance
 
C++ Inheritance Tutorial | Introduction To Inheritance In C++ Programming Wit...
C++ Inheritance Tutorial | Introduction To Inheritance In C++ Programming Wit...C++ Inheritance Tutorial | Introduction To Inheritance In C++ Programming Wit...
C++ Inheritance Tutorial | Introduction To Inheritance In C++ Programming Wit...
 

Andere mochten auch

Andere mochten auch (20)

Inheritance in c++ ppt (Powerpoint) | inheritance in c++ ppt presentation | i...
Inheritance in c++ ppt (Powerpoint) | inheritance in c++ ppt presentation | i...Inheritance in c++ ppt (Powerpoint) | inheritance in c++ ppt presentation | i...
Inheritance in c++ ppt (Powerpoint) | inheritance in c++ ppt presentation | i...
 
Java: Inheritance
Java: InheritanceJava: Inheritance
Java: Inheritance
 
Inheritance in C++
Inheritance in C++Inheritance in C++
Inheritance in C++
 
Java inheritance
Java inheritanceJava inheritance
Java inheritance
 
inheritance c++
inheritance c++inheritance c++
inheritance c++
 
C++ Inheritance
C++ InheritanceC++ Inheritance
C++ Inheritance
 
Java Inheritance
Java InheritanceJava Inheritance
Java Inheritance
 
Inheritance in oops
Inheritance in oopsInheritance in oops
Inheritance in oops
 
Inheritance and Polymorphism
Inheritance and PolymorphismInheritance and Polymorphism
Inheritance and Polymorphism
 
Polymorphism
PolymorphismPolymorphism
Polymorphism
 
Polymorphism
PolymorphismPolymorphism
Polymorphism
 
Inheritance
InheritanceInheritance
Inheritance
 
Oops ppt
Oops pptOops ppt
Oops ppt
 
inheritance in C++
inheritance in C++inheritance in C++
inheritance in C++
 
C++ Multiple Inheritance
C++ Multiple InheritanceC++ Multiple Inheritance
C++ Multiple Inheritance
 
Inheritance and Polymorphism Java
Inheritance and Polymorphism JavaInheritance and Polymorphism Java
Inheritance and Polymorphism Java
 
Multiple Inheritance
Multiple InheritanceMultiple Inheritance
Multiple Inheritance
 
class and objects
class and objectsclass and objects
class and objects
 
polymorphism
polymorphism polymorphism
polymorphism
 
Constructor ppt
Constructor pptConstructor ppt
Constructor ppt
 

Ähnlich wie Inheritance

Ähnlich wie Inheritance (20)

Inheritance
InheritanceInheritance
Inheritance
 
inheritence
inheritenceinheritence
inheritence
 
Inheritance OOP Concept in C++.
Inheritance OOP Concept in C++.Inheritance OOP Concept in C++.
Inheritance OOP Concept in C++.
 
Inheritance
InheritanceInheritance
Inheritance
 
Inheritance
InheritanceInheritance
Inheritance
 
11 Inheritance.ppt
11 Inheritance.ppt11 Inheritance.ppt
11 Inheritance.ppt
 
Inheritance
InheritanceInheritance
Inheritance
 
Inheritance in C++
Inheritance in C++Inheritance in C++
Inheritance in C++
 
inheriTANCE IN OBJECT ORIENTED PROGRAM.pptx
inheriTANCE IN OBJECT ORIENTED PROGRAM.pptxinheriTANCE IN OBJECT ORIENTED PROGRAM.pptx
inheriTANCE IN OBJECT ORIENTED PROGRAM.pptx
 
Inheritance
Inheritance Inheritance
Inheritance
 
Inheritance chapter-6-computer-science-with-c++ opt
Inheritance chapter-6-computer-science-with-c++ optInheritance chapter-6-computer-science-with-c++ opt
Inheritance chapter-6-computer-science-with-c++ opt
 
E -COMMERCE.ppt
E -COMMERCE.pptE -COMMERCE.ppt
E -COMMERCE.ppt
 
Inheritance
InheritanceInheritance
Inheritance
 
lecture 6.pdf
lecture 6.pdflecture 6.pdf
lecture 6.pdf
 
EASY TO LEARN INHERITANCE IN C++
EASY TO LEARN INHERITANCE IN C++EASY TO LEARN INHERITANCE IN C++
EASY TO LEARN INHERITANCE IN C++
 
MODULE2_INHERITANCE_SESSION1.ppt computer
MODULE2_INHERITANCE_SESSION1.ppt computerMODULE2_INHERITANCE_SESSION1.ppt computer
MODULE2_INHERITANCE_SESSION1.ppt computer
 
Inheritance
InheritanceInheritance
Inheritance
 
Inheritance
InheritanceInheritance
Inheritance
 
inheritance
   inheritance   inheritance
inheritance
 
Chapter25 inheritance-i
Chapter25 inheritance-iChapter25 inheritance-i
Chapter25 inheritance-i
 

Mehr von Selvin Josy Bai Somu (8)

Client sidescripting javascript
Client sidescripting javascriptClient sidescripting javascript
Client sidescripting javascript
 
Web technology
Web technologyWeb technology
Web technology
 
Data structure stack&queue basics
Data structure stack&queue   basicsData structure stack&queue   basics
Data structure stack&queue basics
 
Files in c++
Files in c++Files in c++
Files in c++
 
Constructor and destructor
Constructor and destructorConstructor and destructor
Constructor and destructor
 
Polymorphism
PolymorphismPolymorphism
Polymorphism
 
Function overloading
Function overloadingFunction overloading
Function overloading
 
Basics of c++
Basics of c++Basics of c++
Basics of c++
 

Inheritance

  • 1. Prepared by : SELVIN JOSY BAI. S
  • 2.
  • 3.  Itis the capability of one class to inherit properties from another class.  The technique of building new classes from the existing classes is called inheritance.
  • 4. Base Class / Super Class Derived from Derived Class / Sub Class
  • 5.  It is the class whose properties are inherited by another class.  It is also called Super Class.
  • 6.  It is the class that inherit properties from base class(es).  It is also called Sub Class.  It inherits all the properties of the base class and can add additional features to the derived class.
  • 7.  CODE REUSABILITY  EASY TO IMPLEMENT REAL WORLD MODELS  TRANSITIVE NATURE
  • 8.  It is any of the access labels: private, public or protected.  It defines the accessibility of the members of the base class within the derived class.  If the visibility mode is not specified, it will be taken as private by default.
  • 9.  Privatemembers can never be inherited. Only the public and protected members can be inherited to the derived class. This is the difference between the private and protected members.
  • 10. VISIBILITY MODES Derived class visibility Base Class Visibility Public Private Protected derivation derivation derivation Private Not Not Not inherited inherited inherited Protected Protected Private Protected Public Public Private Protected
  • 11. Access Accessible Accessible Accessible Specifier of from own from derived from objects members class class outside class PRIVATE YES NO NO PUBLIC YES YES YES PROTECTED YES YES NO
  • 12.  Private members of the base class cannot be inherited with any of the visibility mode.  One is by making the visibility mode of private members as public, but they will be exposed to the outside world.  Another is to convert the private members into protected so that they will be hidden from the outside world but can be inherited.
  • 13. Friendship Derivation Provide access to private and Private members cannot be protected members. derived into another class. A non-member function can It shares the features of base make friendship to a class class and adds some more attributes Two independent classes can The derived classes are created have friendship, where friend with the help of base class. function acts as bridge Derived class is a special between them. instance of base class. Friendship is not Derivation Derivation is a kind of Friendship.
  • 14. 1. SINGLE INHERITANCE 2. MULTIPLE INHERITANCE 3. HIERARCHICAL INHERITANCE 4. MULTILEVEL INHERITANCE 5. HYBRID INHERITANCE
  • 15.  Derivation of a class from only one base class is called SINGLE Inheritance.  In the figure class Y is derived from class X. X BASE CLASS Y DERIVED CLASS
  • 16. class DerivedClassName : [visibility mode] BaseClassName { //DataMembers and MemberFunctions; } Example: class Automobile : public Vehicle { //DataMembers and MemberFunctions; }
  • 17.  Derivation of a class from SEVERAL (TWO OR MORE) base classes is called MULTIPLE Inheritance.  In the figure class Z is derived from both the classes X & Y. X Y BASE CLASSES Z DERIVED CLASS
  • 18. class DerivedClassName : [visibility mode] BaseClassName1, [visibility mode] BaseClassName1 { //DataMembers and MemberFunctions; } Example: class CHILD : public FATHER, public MOTHER { //DataMembers and MemberFunctions; }
  • 19.  Derivation of SEVERAL classes from SINGLE base class is called HIERARCHICAL Inheritance.  In the figure the classes Y & Z is derived from the same class X. X BASE CLASSES Y Z DERIVED CLASS
  • 20. class DerivedClassName1 : [visibility mode] BaseClassName { ----------; } class DerivedClassName2 : [visibility mode] BaseClassName { ----------; } Example: Example: class Y : public X class Z : public X { { ---------; ---------; } }
  • 21. When a sub class is derived from a base X class which itself is derived from another class, it is known as MULTILEVEL Inheritance. Y  In the figure the class Z is derived from class Y, which is a derived class that is inherited from the Z class X.
  • 22. class DerivedClassName1 : [visibility mode] BaseClassName { ----------; } class DerivedClassName2 : [visibility mode] DerivedClassName1 { ----------; } Example: Example: class Y : public X class Z : public Y { { ---------; ---------; } }
  • 23. Derivation of a class involving more than W one form of Inheritance is known as HYBRID inheritance. X Y  As it is the derivation of a class from other derived classes, which Z are derived from the same base class.
  • 24.  The derived class need have a constructor as long as the base class has a no-argument constructor.  If the base class has constructors with arguments, then it is mandatory for the derived class to have a constructor and pass the arguments to the base class constructor.
  • 25.  When an object of a derived class is created, the constructor of the base class is executed first and later the constructor of the derived class.  Unlike constructors, destructors in the class hierarchy are invoked in the reverse order of the constructor invocation.
  • 26.  It is one that has no instances and is not designed to create objects.  It is only designed to be inherited from.  It specifies an interface at a certain level of inheritance and provides a framework or skeleton, upon which other classes can be built.
  • 27. When classes are derived in the form of hybrid inheritance, there can be a problem by which multiple copies of the base class members come in the lowest level derived class through the various intermediate subclasses. Here comes the virtual base class for rescue.
  • 28. class A { public: int a; }; Class B class B : public A { public: contains int b; a and b }; class C : public A Class C { public: contains int c; a and c }; class D : public B, public C Class D { public: contains a,b, int d; }; a,c, & d
  • 29. class A { public: only one copy of A will be inherited int a; }; Class B class B : virtual public A { public: contains int b; a and b }; class C : virtual public A Class C { public: contains int c; a and c }; class D : public B, public C Class D { public: contains a,b, int d; }; c, & d
  • 30.  In inheritance, if the class D is derived from the class B, it is said that D is a kind of B; the class D has all the properties of B in addition to the features of its own.  In OOP, the containership occurs when an object of one class is contained in another class as a data member.  In other words, a class can contain objects of other classes as its members.
  • 31. class ABC { int a; float b; public: void fab(); }; class PQR { int p; float q; public: ABC ob1; void fab(); };

Hinweis der Redaktion

  1. c
  2. c