OBJECT ORIENTED PROGRAMMING IN C++









OBJECT ORIENTED PROGRAMMING

    OBJECT ORIENTED PROGRAMMING IMPLEMENT REAL WORLD ENTITIES LIKE INHERITANCE, HIDING, POLYMORPHISM ETC IN PROGRAMMING. THE MAIN AIM OF OOP IS TO BIND DATA AND FUNCTIONS TOGETHER AND CAN BE ACCESSED WITHIN THAT PARTICULAR FUNCTION. SO THAT NO OTHER CODE CAN ACCESS THE DATA EXCEPT THAT FUNCTION.






  1. CLASS
  2. OBJECTS
  3. ENCAPSULATION
  4. ABSTRACTION
  5. POLYMORPHISM
  6. INHERITANCE
  7. DYNAMIC BINDING
  8. MESSAGE PASSING










CLASS

    CLASS IS THE BUILDING BLOCK OF C++ . CLASS IS IMPLEMENTATION OF OBJECT ORIENTED PROGRAMMING. IT IS A USER DEFINED DATA TYPE WHICH HOLDS DATA MEMBERS AND MEMBER FUNCTIONS. A CLASS IS A BLUE PRINT FOR AN OBJECT. DATA MEMBERS ARE THE DATA VARIABLES AND MEMBER FUNCTIONS ARE THE FUNCTIONS USED TO MANIPULATE THESE VARIABLES.





EXAMPLE :

CLASS BANK

{

PRIVATE :

INT ACCNO;

CHAR NAME;

PUBLIC :

VOID GET DATA( );

VOID PUT DATA( );

};


INSIDE THE CLASS


VOID GET DATA( );

{

COUT<<"ENTER YOUR ACCNO : ";

CIN>>ACCNO;

COUT<<"ENTER THE NAME : ";

CIN>>NAME;

}

VOID PUT DATA( );

{

COUT<<ACCNO;

COUT<<NAME;

}

};


OUTSIDE THE CLASS


VOID BANK : : GET DATA( );

{

COUT<<"ENTER YOUR NAME : ";

CIN>>NAME;

COUT<<"ENTER YOUR ACCNO : ";

CIN>>ACCNO;

}

VOID PUT DATA( );

{

CIN<<NAME;

CIN<<ACCNO;

}

};




OBJECT

   AN OBJECT IS AN ENTITY WITH SOME CHARACTERISTICS AND BEHAVIOUR. AN OBJECT IS AN INSTANCE OF A CLASS, WHICH HOLDS THE DATA VARIABLES DECLARED IN CLASS. OBJECT IS INITIALIZED USING SPECIAL CLASS FUNCTIONS CALLED CONSTRUCTORS.






EXAMPLE :


CLASS STUDENT

{

CHAR NAME[ 20 ];

INT ID;

PUBLIC :

VOID GETDETAILS( )
{
-------
-------
}

};

INT MAIN( )

{

STUDENT S1; // S1 IS A OBJECT.

}


ENCAPSULATION

     ENCAPSULATION MEANS WRAPPING UP OF DATA AND FUNCTION TOGETHER IN A SINGLE UNIT. IT BIND DATA AND FUNCTION TOGETHER AND MANIPULATE THEM. ENCAPSULATION LEADS TO DATA ABSTRACTION OR DATA HIDING.










   FOR EXAMPE SUPPOSE WE GO TO AN AUTOMATIC COLA VENDING MACHINE AND REQUEST FOR A COLA. THE MACHINE PROCESSES YOUR REQUEST AND GIVES THE COLA. HERE VENDING MACHINE IS A CLASS. IT CONTAINS BOTH DATA. COLA CAN AND OPERATIONS. SERVICE MECHANISM AND THEY ARE WRAPPED UNDER A SINGLE UNIT COLA VENDING MACHINE. THIS IS CALLED ENCAPSULATION.



ABSTRACTION

    HIDING OF DATA IS KNOWN AS DATA ABSTRACTION.IN OBJECT ORIENTED PROGRAMMING ABSTRACTION MEANS DISPLAYING ESSENTIAL DETAILS AND HIDING THE BACKGROUND DETAILS OR IMPLEMENTATION.





     FOR EXAMPLE IF WE DRIVE A CAR WE ONLY KNOW ABOUT HOW TO DRIVE CAR BUT WE DON'T KNOW HOW IT WORK AND WE DON'T KNOW ITS INTERNAL FUNCTIONS. THIS IS ABSTRACTION. 



POLYMORPHISM

   POLYMORPHISM MEANS MANY FORMS. POLYMORPHISM IS THE ABILITY TO DISPLAY MORE THAN ONE FORM. HERE ONE FORM IS ORIGINAL FORM WHICH IS THE BASE CLASS AND THE MULTIPLE FORM IS DERIVED CLASS.





 

OPERATOR OVERLOADING

     THE PROCESS OF MAKING AN OPERATOR TO EXHIBIT DIFFERENT BEHAVIOURS IN DIFFERENT INSTANCES IS KNOWN AS OPERATOR OVERLOADING.






FUNCTION OVERLOADING  

       IT IS THE PROCESS OF USING SINGLE FUNCTION NAME TO PERFORM DIFFERENT TYPES OF TASKS IS KNOWN AS FUNCTION OVERLOADING.







INHERITANCE

     THE PROCESS OF OBTAINING THE DATA MEMBERS AND FUNCTION FROM ONE CLASS TO ANOTHER CLASS IS KNOWN AS INHERITANCE. IT IS ONE OF THE FUNDAMENTAL FEATURES OF OBJECT ORIENTED PROGRAMMING. THE CLASS WHICH GIVE DATA MEMBERS AND FUNCTION IS KNOWN AS BASE CLASS OR SUPER CLASS OR PARENT CLASS. THE CLASS WHICH TAKES THE DATA MEMBERS AND FUNCTION IS KNOWN AS SUB CLASS OR DERIVED CLASS OR CHILD CLASS.







DYNAMIC BINDING

    DYNAMIC BINDING IS THE PROCESS OF LINKING PROCEDURE CALL TO A SPECIFIC SEQUENCE OF CODE AT RUN TIME. DYNAMIC BINDING ALSO KNOWN AS LATE BINDING OR RUN TIME BINDING.





MESSAGE PASSING

      IT IS A SET OF OBJECT THAT COMMUNICATE EACH OTHER. OBJECT COMMUNICATE EACH OTHER BY SENDING AND RECEIVING DATA AND INFORMATION IS SAME AS THAT OF WE SENT MESSAGE FORM ONE PERSON TO ANOTHER PERSON FOR COMMUNICATION.














FOR MORE C++ PROGRAMS AND TUTORIALS PLEASE SUBSCRIBE MY YOUTUBE CHANNEL







CODE MASTER









Comments