The main program coordinates calls to procedures and hands over appropriate data as parameters.
Features of Procedure Oriented Programming Language
Emphasis is on doing things.
Larger programs are divided in to smaller programs known as functions.
Data is Global shared by almost all the functions.
Employs Top Down approach in Program Design.
Examples of Procedure Oriented Programming Language
Objects of the program interact by sending messages to each other
Features of OOPs
Emphasis is on data rather than procedures.
Programs are divided into objects which are very close to the real world.
Data is hidden and cannot be accessed by external functions.
Functions that operate on the data are tied together into an object.
Follows Bottom up approach in program design.
Basic Concept of Object-Oriented
Run time entities that may represent a person, place, bank account or any item.
Each object contains data, and code to manipulate the data.
Data represents the attributes of that object and functions represents the behaviour of that object
User defined data types on which objects are created.
Objects with similar properties and methods are grouped together to form a Class.
For example, mango, apple and orange are members of class fruit.
Abstraction refers to the act of representing essential features without including the background details or explanations.
Wrapping of data and functions into a single unit is known as data encapsulation.
Data is not accessible to the outside world, only those functions which are wrapped in the class can access it.
Process of deriving a new class from an existing one is called Inheritance.
The existing class is known as base class, parent class or super class.
The new class that is formed is called derived class, child class or sub class.
Derived class has all the features of the base class plus it has some extra features also.
Example of Inheritance Automobile Two Wheeler Three Wheeler Four Wheeler Scooter Motor Bike Auto Rickshaw Car Bus
Types of Inheritance
Single Level Inheritance When there is one base class and only one class is deriving from it. Base Class Derived Class
Multi Level Level Inheritance Class A Class B A class is derived from an already derived class. Class A is a base class for the derived class B. Class B is a base class for the derived class C. So, Class B is known as intermediate base class. Class C
Multiple Inheritance Class A Class B A Derived Class is created from two or more base classes. Class C
Hierarchical Inheritance Two or more classes are derived from one base class. Class A Class B Class C Class D Class E
Hybrid Inheritance Class A Class B Class C Class D Class E Combination of two or more types of Inheritance.
Ability to take more than one form.
Function Overloading refers to use of same function name for different purposes. These functions differ from each other by no. and types of arguments.
Draw() Draw() Draw() Draw()
Operator Overloading is a mechanism of redefining the meaning of C++ operators.
For example: +, - ,++, -- ,* etc.
Binding means connecting the function call to the code to be executed in response to the call.
Binding Static Dynamic
Static Binding means that the code associated with the function call is linked at compile time.
Also known as early Binding or compile time Polymorphism.
Dynamic Binding means that the code associated with the function call is linked at run time.
Also known as late Binding or run time polymorphism.