SlideShare a Scribd company logo
Need of Object Oriented
Programming
Amar Jukuntla
Object Oriented Programming
Procedure Oriented Programming Object Oriented Programming
Why Do We Need Object‐Oriented Programming?
• Object Oriented Programming was developed because
limitations were discovered in earlier approaches to
programming.
• To appreciate what OOP does, we need to understand
what these limitations are and how they arose from
traditional programming languages.
Object5
Object4
Object3
Object2
Object1
POP Vs. OOP
Procedure Oriented Programming Object Oriented Programming
• In OOP, program is divided into parts called
objects.
• OOP has access specifiers named Public, Private,
Protected, etc.
• OOP provides Data Hiding so provides more
security.
• In OOP, overloading is possible in the form of
Function Overloading and Operator Overloading.
• In OOP, data can not move easily from function to
function, it can be kept public or private so we can
control the access of data.
• Example of OOP are : C++, JAVA, VB.NET,
C#.NET.
• In POP, program is divided into small parts called
functions.
• POP does not have any access specifier.
• POP does not have any proper way for hiding data
so it is less secure.
• In POP, Overloading is not possible.
• In POP, Most function uses Global data for sharing
that can be accessed freely from function to
function in the system.
• Example of POP are : C, VB, FORTRAN, Pascal.
Advantages of OOP
• Code Reuse and Recycling: Objects created for Object Oriented Programs can easily be
reused in other programs.
• Design Benefits: Large programs are very difficult to write. Object Oriented Programs
force designers to go through an extensive planning phase, which makes for better designs
with less flaws. In addition, once a program reaches a certain size, Object Oriented
Programs are actually easier to program than non-Object Oriented ones.
• Software Maintenance: Programs are not disposable. Legacy code must be dealt with on
a daily basis, either to be improved upon (for a new version of an exist piece of software)
or made to work with newer computers and software. An Object Oriented Program is much
easier to modify and maintain than a non-Object Oriented Program. So although a lot of
work is spent before the program is written, less work is needed to maintain it over time.
• Simplicity
Binding
Binding
• Binding means link between
procedure call and code to be
executed.
• When a method call is resolved
at compile time, it is known
as STATIC BINDING.
• While if method invocation is
resolved at runtime, it is known
as DYNAMIC BINDING OR LATE
BINDING.
Continue…
 Because of polymorphism, a reference variable of type Parent can hold an object of type
Child, which extends Parent. Now if you call a virtual method (not private, final or static) on
this object, then Compiler can not find actual method, because it could be the one, which is
defined in Parent class, or the one which Child has overridden. This call can only be resolved
at runtime, when actual object is available. That's why this is known as RUNTIME OR
DYNAMIC BINDING.
 On the hand, private, static and final methods are resolved at compile time, because compiler
knows that they can't be overridden and only possible methods are those, which are defined
inside a class, whose reference variable is used to call this method. This is known as STATIC
OR COMPILE TIME BINDING, all private, static and final methods are resolved using static
binding.
Continue…
This concept is also closely related to method overloading and method overriding. As
dynamic binding happens when method overriding is possibility and overloaded method
calls are resolved at compile time, because they are always defined in same class.
• Class
• Class is a Blueprint for an Object.
• Object
• Object is instance of class or it is
created from class.
Attribute Behavior
Name Walk
Weight Run
Height Talk
Age Speak
Gender Sleep
P
R
O
P
E
R
T
I
E
S
M
E
T
H
O
D
S
Message Passing
Exception
OOP Features
• Encapsulation
• Inheritance
• Polymorphism
• Abstraction
• Method overloading
• Method overriding
OOP Features
• Encapsulation
• Encapsulation is the mechanism binds code and data together, and keeps both safe
from outside interference and misuse.
• Encapsulation is protective cover that prevents the code and data from being accessed
by other code defined outside.
• The process of wrapping up of data (properties) and behavior (methods) of an object
into single unit. In plain English means to be enclosed in or as if in a capsule.
• Advantages
• The fields of a class can be made read-only or write-only.
• A class can have total control over what is stored in its fields.
• The user doesn’t know how the class stores data.
Continue…
Class encapsulation
{
public void method1()
{
int i=0; //variable
String Name=“Variable”;
//variable
}
public void method2()
{
int i=0; //variable
String Name=“Variable”;
//variable
}
}
Continue…
• Inheritance
• Inheritance is the method creating the new class based on already existing class.
• The new desired class is called subclass or child class. The existing class is called parent
class or super class or base class.
• Inheritance is the process by which one object acquires the properties of another object.
• Example;
iPhone
iPhone-3s
iPhone-4
iPhone-5
iPhone-5s
Continue…
• Polymorphism
• Ability to change form is known as Polymorphism.
• Polymorphism means “many forms”.
• Method overloading, method overriding, interfaces are the example of
Polymorphism.
• Example:
• Overloading
• The same method name (method overloading) or operator
symbol (operator overloading) can be used in different contents.
• In method overloading, multiple methods having same name can
appear in a class, but with different signature.
• Java does not allow operator overloading yet + is overloaded for
class string. The ‘+’ operator can be used for addition as well as
string concatenation.
• Example:
• Add a1=new Add();
• Add a2=new Add(1,2);
• Add a3=new Add(1,2,3);
Continue…
• Overriding
• Defining a method in subclass having the same name as a method in the
parent class is known as Overriding.
Continue…
• Abstraction
• Abstraction specifies necessary and sufficient descriptions rather than
implementation details.
• Abstraction is an essential element of Object Oriented Programming. Through
abstraction we can manage complexity.
• Abstraction means hiding the unnecessary data from users. Abstraction defines only
the essential characteristics of an object.
Flower
Arranger
Gardeners
Grower
Wholesaler
Summary of Object Oriented Programming Concepts
• Everything is an Object.
• Computation is performed by objects communicating with each other, requesting
that other objects perform actions.
• Each object has its own memory, which consist of other objects.
• Every object is an Instance of a class. A class simply represents a grouping of
similar objects, such as integers or lists.
• The class is the responsible for behaviour associated with an object. That is, all
objects that are instance of the same class can perform the same action.
• Classes are organized into a singly rooted tree structure, called the Inheritance
hierarchy.

More Related Content

PDF
Introduction to oops concepts
PDF
Internet Of things
PPT
Counterpropagation NETWORK
PDF
Function overloading ppt
PDF
Operator Overloading in C++
PPTX
Presentation on Android operating system
PDF
Operator overloading
PPTX
Definition, scope and Importance of environment science
Introduction to oops concepts
Internet Of things
Counterpropagation NETWORK
Function overloading ppt
Operator Overloading in C++
Presentation on Android operating system
Operator overloading
Definition, scope and Importance of environment science

What's hot (20)

PPT
Multi Head, Multi Tape Turing Machine
PPTX
Introduction to Software Engineering
PPT
Oops ppt
PPTX
Performance analysis(Time & Space Complexity)
PPTX
File system structure
PPTX
Basic Concepts of OOPs (Object Oriented Programming in Java)
PPSX
Modules and packages in python
PPTX
PYTHON PPT.pptx
PPTX
DeadLock in Operating-Systems
PPTX
Java package
PPTX
Inheritance in java
PPTX
Paging and segmentation
PPTX
OOP Introduction with java programming language
PPTX
OOP - Benefits and advantages of OOP
PPTX
Threads (operating System)
PPTX
Deadlock ppt
PPT
Coupling and cohesion
PPTX
Control Strategies in AI
PPTX
State space search
PPTX
Inheritance in java
Multi Head, Multi Tape Turing Machine
Introduction to Software Engineering
Oops ppt
Performance analysis(Time & Space Complexity)
File system structure
Basic Concepts of OOPs (Object Oriented Programming in Java)
Modules and packages in python
PYTHON PPT.pptx
DeadLock in Operating-Systems
Java package
Inheritance in java
Paging and segmentation
OOP Introduction with java programming language
OOP - Benefits and advantages of OOP
Threads (operating System)
Deadlock ppt
Coupling and cohesion
Control Strategies in AI
State space search
Inheritance in java
Ad

Similar to Need of object oriented programming (20)

PDF
Unit_2.00000000000000000000000000000.pdf
PPT
Java Fundamentalojhgghjjjjhhgghhjjjjhhj.ppt
PPTX
Class and Objects in python programming.pptx
PPTX
Introduction to OOP concepts
PPTX
Principles of OOPs.pptx
PPT
Java OOP s concepts and buzzwords
PPT
Unit 1- Basic concept of object-oriented-programming.ppt
PDF
UNIT1- OBJECT ORIENTED PROGRAMMING IN JAVA- AIML IT-SPPU
PPT
Oops and c fundamentals
PPTX
C++ first s lide
PPT
1. OBJECT ORIENTED PROGRAMMING USING JAVA - OOps Concepts.ppt
PPTX
SKILLWISE - OOPS CONCEPT
PPT
Share Unit 1- Basic concept of object-oriented-programming.ppt
PPTX
PPTX
Oop.pptx
DOC
Questpond - Top 10 Interview Questions and Answers on OOPS
PPT
Basic concepts of oops
PPTX
Oop ppt
PPTX
Unit - I Intro. to OOP Concepts and Control Structure -OOP and CG (2024 Patte...
PPTX
Untitled presentation about object oriented.pptx
Unit_2.00000000000000000000000000000.pdf
Java Fundamentalojhgghjjjjhhgghhjjjjhhj.ppt
Class and Objects in python programming.pptx
Introduction to OOP concepts
Principles of OOPs.pptx
Java OOP s concepts and buzzwords
Unit 1- Basic concept of object-oriented-programming.ppt
UNIT1- OBJECT ORIENTED PROGRAMMING IN JAVA- AIML IT-SPPU
Oops and c fundamentals
C++ first s lide
1. OBJECT ORIENTED PROGRAMMING USING JAVA - OOps Concepts.ppt
SKILLWISE - OOPS CONCEPT
Share Unit 1- Basic concept of object-oriented-programming.ppt
Oop.pptx
Questpond - Top 10 Interview Questions and Answers on OOPS
Basic concepts of oops
Oop ppt
Unit - I Intro. to OOP Concepts and Control Structure -OOP and CG (2024 Patte...
Untitled presentation about object oriented.pptx
Ad

More from Amar Jukuntla (19)

PDF
Singly linked list
PPTX
Types of files
PPTX
Hashing
PPTX
Planning
PDF
PDF
Problem Solving
PPTX
Intelligent Agents
PPTX
Introduction
PPTX
PPTX
Sorting
PPTX
Sorting
PPTX
Nature of open source
PPTX
Linux Directory System: Introduction
PPTX
Introduction to Data Structures
PPTX
Learning
PDF
First Order Logic resolution
PDF
First Order Logic
PDF
Agents1
Singly linked list
Types of files
Hashing
Planning
Problem Solving
Intelligent Agents
Introduction
Sorting
Sorting
Nature of open source
Linux Directory System: Introduction
Introduction to Data Structures
Learning
First Order Logic resolution
First Order Logic
Agents1

Recently uploaded (20)

PDF
Mark Klimek Lecture Notes_240423 revision books _173037.pdf
PPTX
Onica Farming 24rsclub profitable farm business
PPTX
Introduction_to_Human_Anatomy_and_Physiology_for_B.Pharm.pptx
PDF
Abdominal Access Techniques with Prof. Dr. R K Mishra
PDF
O5-L3 Freight Transport Ops (International) V1.pdf
PPTX
Cardiovascular Pharmacology for pharmacy students.pptx
PDF
The Final Stretch: How to Release a Game and Not Die in the Process.
PDF
The Lost Whites of Pakistan by Jahanzaib Mughal.pdf
PPTX
Cell Structure & Organelles in detailed.
PPTX
Introduction to Child Health Nursing – Unit I | Child Health Nursing I | B.Sc...
PDF
grade 11-chemistry_fetena_net_5883.pdf teacher guide for all student
PDF
PSYCHOLOGY IN EDUCATION.pdf ( nice pdf ...)
PDF
English Language Teaching from Post-.pdf
PPTX
Renaissance Architecture: A Journey from Faith to Humanism
PDF
Mga Unang Hakbang Tungo Sa Tao by Joe Vibar Nero.pdf
PPTX
Open Quiz Monsoon Mind Game Prelims.pptx
PPTX
NOI Hackathon - Summer Edition - GreenThumber.pptx
PDF
Saundersa Comprehensive Review for the NCLEX-RN Examination.pdf
PDF
Physiotherapy_for_Respiratory_and_Cardiac_Problems WEBBER.pdf
PPTX
Pharmacology of Heart Failure /Pharmacotherapy of CHF
Mark Klimek Lecture Notes_240423 revision books _173037.pdf
Onica Farming 24rsclub profitable farm business
Introduction_to_Human_Anatomy_and_Physiology_for_B.Pharm.pptx
Abdominal Access Techniques with Prof. Dr. R K Mishra
O5-L3 Freight Transport Ops (International) V1.pdf
Cardiovascular Pharmacology for pharmacy students.pptx
The Final Stretch: How to Release a Game and Not Die in the Process.
The Lost Whites of Pakistan by Jahanzaib Mughal.pdf
Cell Structure & Organelles in detailed.
Introduction to Child Health Nursing – Unit I | Child Health Nursing I | B.Sc...
grade 11-chemistry_fetena_net_5883.pdf teacher guide for all student
PSYCHOLOGY IN EDUCATION.pdf ( nice pdf ...)
English Language Teaching from Post-.pdf
Renaissance Architecture: A Journey from Faith to Humanism
Mga Unang Hakbang Tungo Sa Tao by Joe Vibar Nero.pdf
Open Quiz Monsoon Mind Game Prelims.pptx
NOI Hackathon - Summer Edition - GreenThumber.pptx
Saundersa Comprehensive Review for the NCLEX-RN Examination.pdf
Physiotherapy_for_Respiratory_and_Cardiac_Problems WEBBER.pdf
Pharmacology of Heart Failure /Pharmacotherapy of CHF

Need of object oriented programming

  • 1. Need of Object Oriented Programming Amar Jukuntla
  • 3. Procedure Oriented Programming Object Oriented Programming
  • 4. Why Do We Need Object‐Oriented Programming? • Object Oriented Programming was developed because limitations were discovered in earlier approaches to programming. • To appreciate what OOP does, we need to understand what these limitations are and how they arose from traditional programming languages.
  • 6. POP Vs. OOP Procedure Oriented Programming Object Oriented Programming • In OOP, program is divided into parts called objects. • OOP has access specifiers named Public, Private, Protected, etc. • OOP provides Data Hiding so provides more security. • In OOP, overloading is possible in the form of Function Overloading and Operator Overloading. • In OOP, data can not move easily from function to function, it can be kept public or private so we can control the access of data. • Example of OOP are : C++, JAVA, VB.NET, C#.NET. • In POP, program is divided into small parts called functions. • POP does not have any access specifier. • POP does not have any proper way for hiding data so it is less secure. • In POP, Overloading is not possible. • In POP, Most function uses Global data for sharing that can be accessed freely from function to function in the system. • Example of POP are : C, VB, FORTRAN, Pascal.
  • 8. • Code Reuse and Recycling: Objects created for Object Oriented Programs can easily be reused in other programs. • Design Benefits: Large programs are very difficult to write. Object Oriented Programs force designers to go through an extensive planning phase, which makes for better designs with less flaws. In addition, once a program reaches a certain size, Object Oriented Programs are actually easier to program than non-Object Oriented ones. • Software Maintenance: Programs are not disposable. Legacy code must be dealt with on a daily basis, either to be improved upon (for a new version of an exist piece of software) or made to work with newer computers and software. An Object Oriented Program is much easier to modify and maintain than a non-Object Oriented Program. So although a lot of work is spent before the program is written, less work is needed to maintain it over time. • Simplicity
  • 9. Binding Binding • Binding means link between procedure call and code to be executed. • When a method call is resolved at compile time, it is known as STATIC BINDING. • While if method invocation is resolved at runtime, it is known as DYNAMIC BINDING OR LATE BINDING.
  • 10. Continue…  Because of polymorphism, a reference variable of type Parent can hold an object of type Child, which extends Parent. Now if you call a virtual method (not private, final or static) on this object, then Compiler can not find actual method, because it could be the one, which is defined in Parent class, or the one which Child has overridden. This call can only be resolved at runtime, when actual object is available. That's why this is known as RUNTIME OR DYNAMIC BINDING.  On the hand, private, static and final methods are resolved at compile time, because compiler knows that they can't be overridden and only possible methods are those, which are defined inside a class, whose reference variable is used to call this method. This is known as STATIC OR COMPILE TIME BINDING, all private, static and final methods are resolved using static binding.
  • 11. Continue… This concept is also closely related to method overloading and method overriding. As dynamic binding happens when method overriding is possibility and overloaded method calls are resolved at compile time, because they are always defined in same class.
  • 12. • Class • Class is a Blueprint for an Object. • Object • Object is instance of class or it is created from class. Attribute Behavior Name Walk Weight Run Height Talk Age Speak Gender Sleep P R O P E R T I E S M E T H O D S
  • 15. OOP Features • Encapsulation • Inheritance • Polymorphism • Abstraction • Method overloading • Method overriding
  • 16. OOP Features • Encapsulation • Encapsulation is the mechanism binds code and data together, and keeps both safe from outside interference and misuse. • Encapsulation is protective cover that prevents the code and data from being accessed by other code defined outside. • The process of wrapping up of data (properties) and behavior (methods) of an object into single unit. In plain English means to be enclosed in or as if in a capsule. • Advantages • The fields of a class can be made read-only or write-only. • A class can have total control over what is stored in its fields. • The user doesn’t know how the class stores data.
  • 17. Continue… Class encapsulation { public void method1() { int i=0; //variable String Name=“Variable”; //variable } public void method2() { int i=0; //variable String Name=“Variable”; //variable } }
  • 18. Continue… • Inheritance • Inheritance is the method creating the new class based on already existing class. • The new desired class is called subclass or child class. The existing class is called parent class or super class or base class. • Inheritance is the process by which one object acquires the properties of another object. • Example;
  • 20. Continue… • Polymorphism • Ability to change form is known as Polymorphism. • Polymorphism means “many forms”. • Method overloading, method overriding, interfaces are the example of Polymorphism. • Example:
  • 21. • Overloading • The same method name (method overloading) or operator symbol (operator overloading) can be used in different contents. • In method overloading, multiple methods having same name can appear in a class, but with different signature. • Java does not allow operator overloading yet + is overloaded for class string. The ‘+’ operator can be used for addition as well as string concatenation. • Example: • Add a1=new Add(); • Add a2=new Add(1,2); • Add a3=new Add(1,2,3);
  • 22. Continue… • Overriding • Defining a method in subclass having the same name as a method in the parent class is known as Overriding.
  • 23. Continue… • Abstraction • Abstraction specifies necessary and sufficient descriptions rather than implementation details. • Abstraction is an essential element of Object Oriented Programming. Through abstraction we can manage complexity. • Abstraction means hiding the unnecessary data from users. Abstraction defines only the essential characteristics of an object.
  • 25. Summary of Object Oriented Programming Concepts • Everything is an Object. • Computation is performed by objects communicating with each other, requesting that other objects perform actions. • Each object has its own memory, which consist of other objects. • Every object is an Instance of a class. A class simply represents a grouping of similar objects, such as integers or lists. • The class is the responsible for behaviour associated with an object. That is, all objects that are instance of the same class can perform the same action. • Classes are organized into a singly rooted tree structure, called the Inheritance hierarchy.