2. Evolution of Programming Paradigms
• Structured Programming
– Large programming project
– Emphasis on algorithm rather than data
– Programs are divided into individual procedures
that perform discrete tasks
– Procedures are independent of each other as far
as possible
– Procedures have their own local data and
processing logic
3. Evolution of Programming Paradigms
– Parameter passing facility between the
procedures for information communication
– Introduced the concept of user defined data types
– Support modular programming
– Projects can be broken up into modules and
programmed independently
– Scope of the data items is controlled across
modules
– Maintenance of a large software system is tedious
and costly
4. Object oriented programming
language
• Object oriented programming is a method of
implementation in which programs are organized as co-
operative collection of objects, each of which represents an
instance of some class and whose classes are all members
of hierarchy of classes united through the property called
inheritance.
• Object Based Programming Languages
– Encapsulation
– Object Identity
• Example
– Ada
• Object Oriented Programming Languages
– Object Based features
5. Object oriented programming
language
– Inheritance
– Polymorphism
• Example
– C++, Java, Smalltalk, Eiffel
• Developed by Bjarne Stroustrup at AT&T Bell
Laboratories in USA
• Incremented version of C
• Superset of C
6. Evolution of Programming Paradigms
• Object Oriented Programming
– OOP treats data as a critical element
– Emphasis on data rather than algorithm
– Decompose the problem into number of entities
namely objects
– Doesn’t allow data to flow freely around the
system
– Data is hidden and cannot be accessed by external
function
7. Evolution of Programming Paradigms
– Data and the functions that operate on the data
are tied together in the data structure
– Object may communicate with each other through
functions
– New data and functions can be added whenever
necessary
– Follows bottom up approach
9. Basic Concepts of Object Oriented
Programming
• Object
– Objects are the basic run time entities in an object
oriented system
– Object is a instance of class
– We can say that objects are variables of the type
class
– Objects can be student, employee, car, book, etc
11. Basic Concepts of Object Oriented
Programming
• Classes
– A class is a user defined data type.
– A class is a collection of data member and member
functions.
– Variable declared in class are called data member and
functions declared in class are known as member
functions.
– A class is an abstraction of the real world entities with
similar properties.
– A class identifies a set of similar properties.
– A class is an implementation of abstract data type.
12. Basic Concepts of Object Oriented
Programming
• Data Abstraction
– Abstraction refers to the act of representing
essential features without including the
background details or explanations.
– Classes use the concept of abstraction and are
defined as a list of abstract attributes such as
size, weight, cost etc.
13. Basic Concepts of Object Oriented
Programming
• Encapsulation
– The wrapping of data and functions into a single
unit is known as encapsulation.
–The data is not accessible to the outside
world, and only those functions which are
wrapped in the class can access it.
14. Basic Concepts of Object Oriented
Programming
• Inheritance
– Inheritance is the process by which objects of one
class acquire the properties of objects of another
class.
– Create a new class from existing class.
– The main benefits of the Inheritance is code
reusability.
• Add additional features to an existing class without
modifying it.
15. Basic Concepts of Object Oriented
Programming
• Polymorphism
– Polymorphism is a Greek term.
– It means the ability to take more than one form.
– An operation may exhibit different behaviors in
different instances.
– The behavior depends upon the type of data used
in the operation.
• For adding two number operation will generate sum of
two number.
• For adding two string operation will concate two string.
16. Basic Concepts of Object Oriented
Programming
• Dynamic Binding(Late Binding)
– Binding refers to the linking of a procedure call to
the code to be executed in response to call.
• Dynamic binding means that the code associated with a
given function call is not known until the time of the call at
run time.
17. Basic Concepts of Object Oriented
Programming
• Message Passing
– Objects communicate with one another by
sending and receiving information.
Student.setData(Id, Name);
Object
Message Information
18. Advantages of OOP
• Through inheritance, redundant code is
eliminated and extend the use of existing classes.
• One can build programs from the standard
working modules that communicate with one
another.
– No need to write from scratch.
– Save the development time and increase the
productivity.
• The principal of data hiding helps the
programmer to build the secure program.
19. Advantages of OOP
• The data centered design approach enable
programmer to get details of a model in
implementable form.
• Possible to map objects in the problem domain to
those in the program.
• It is easy to partition the work in project based on
objects.
• Easily upgradable from small system to large
system.
• Software complexity can be easily managed.