1. Presented by :
• Kunal N. Sharma
• Shyam D. Hathaliya
Presentation on POP vs OOP
2. Outline:
•Procedure oriented programming language.
•Introduction to pop
•Characteristics
•Advantages
•Disadvantages
•Object Oriented programming language.
•Introduction to OOP
•Concepts of OOP
•Advantages
•Disadvantages
•Difference between OOP vs. POP.
3.
4. What is procedural oriented programming?
•computer programming language that specifies a series of well-
structured steps and procedures within its programming context to
compose a program.
•It contains a systematic order of statements, functions and
commands to complete a computational task or program.
• In the procedure oriented approach, the problem is viewed as
a sequence of things to be done such as reading, calculating and
printing.
5. Some characteristics of Procedure Oriented
Programming:
•Large programs are divided into smaller programs known
as functions.
•Most of the functions share
global data.
•Data can easily flow from
one function to another.
•Functions transform data from one form to another.
•Employs top-down approach in program design.
6. Advantages of procedural oriented programming:
•Allows quick completion. It is faster than oop.
•It is good for general purpose programming.
•It has portable source code-use different compiler to target
Different CPUs.
•Large reference is available on well-tired tested algorithms
No need to reinvent the wheel.
•Requires less memory space.
7. Disadvantages of procedural oriented programming:
•It is difficult to relate with the real world objects.
•The codes are difficult to maintain, if code grow large.
•It does not have automatic memory management like java.
•There is no security of data.
•Difficult to modify old codes.
•There are no access specifies.
8.
9. What Object-Oriented Programming?
• Object-oriented programming is centred on
creating objects rather than procedures/
functions.
• Objects are a melding of data and procedures
that manipulate that data.
• Data in an object are known as attributes.
• Procedures/functions in an object are known
as methods.
10.
11. • Object
• Class
• Message
• Basic Principles of Object Orientation
• Abstraction
• Encapsulation
• Inheritance
• Polymorphism
• Interface and Abstract Class
Concepts of object oriented programming:
12. • Informally, an object represents an entity, either physical,
conceptual, or software.
– Physical entity
– Conceptual entity
– Software entity
Truck
Chemical
Process
Linked List
13. • The state of an object normally changes over time.
Name: J Clark
Employee ID: 567138
HireDate: 07/25/1991
Status: Tenured
Discipline: Finance
MaxLoad: 3
Name: J Clark
Employee ID: 567138
Date Hired: July 25, 1991
Status: Tenured
Discipline: Finance
Maximum Course Load: 3 classes
Professor Clark
Professor Clark
14. • Behavior determines how an object acts and reacts.
• The visible behavior of an object is modeled by the set of
messages it can respond to (operations the object can perform).
Professor Clark’s behavior
Submit Final Grades
Accept Course Offering
Take Sabbatical
Maximum Course Load: 3 classes TakeSabbatical()
Professor Clark
Professor Clark
15. Modularity is a fundamental aspect of all
successful large programs.
Abstraction
Emphasizes relevant characteristics.
Suppresses other characteristics
Data Abstraction:
BriefCase
- Capacity
- Weight
+ open()
+ close()
16. • Encapsulation means to design, produce, and
describe software so that it can be easily used
without knowing the details of how it works.
• Also known as information hiding
17. Interface
Implementation details which
are invisible for client
Information which can’t be
accessed by client
Client Deposit()
Withdraw()
Transfer()
Balance
insterestYTD
Owner
Account_number
Deposit() {…}
Withdraw() {…}
Transfer() {…}
18. • Inheritance —a way of organizing classes
• Term comes from inheritance of traits like eye color, hair color,
and so on.
• Classes with properties in common can be grouped so that
their common properties are only defined once.
• Is an “is a kind of” relationship
20. Polymorphism:
•The word polymorphism comes from Greek and means having
several different forms. This is one of the essential concepts of
object-oriented programming.
• Where inheritance is related to classes and (their hierarchy),
polymorphism is related to object methods.
•Types of polymorphism :
Overloading polymorphism
Parametric polymorphism
21. Advantages of Object-Oriented languages
include:
•Ease of management.
•Understand ability.
•Re-usability.
•Improved software-development productivity.
•Improved software maintainability.
•Faster development.
•Lower cost of development.
•Higher-quality software.
22. •The disadvantages of Object-Oriented
languages include:
•Over-generalization.
•Programs that are built using this language tend to take
longer to initially create.
•Slower program.
24. OOP POP
Centres in data types (classes,
prototypes)
Functions.
Data scope encapsulated data global data
What is first
data types then algorithms algorithms then data types
Subroutines are called
methods functions
Who access who
data is accessed by code, i.e.
ObjectInstance.getMeARando
mNumber();
code is accessed by data, i.e.
random_number =
getMeARandomNumber();
Have global data
No, but objects can have
public members
Yes, but functions can have
private variables
Data is called
member variable