Escolar Documentos
Profissional Documentos
Cultura Documentos
Oriented Programming
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
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
Example
Ada
Example
C++, Java, Smalltalk, Eiffel
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
Doesnt allow data to flow freely around
the system
Data is hidden and cannot be accessed
by external function
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
Object
Classes
Data abstraction
Encapsulation
Inheritance
Polymorphism
Dynamic Binding
Message Passing
Student.setData(Id, Name);
Object
Messag
e
Informati
on
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.
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.
Application of OOP
What are the applications of OOP?
What are the application of C++?