SlideShare a Scribd company logo
Introduction to
Object Oriented Programming
Gayathri Namasivayam
Introduction to OOP
Topics
●Why use OOP?
●Building blocks of OOP
● Classes
● Objects
●What is OOP?
●OOP concepts
● Abstraction
● Encapsulation
● Inheritance
● Polymorphism
●Advantages vs Disadvantages
●Conclusion
Introduction to OOP
Topics
●Why use OOP?
●Building blocks of OOP
● Classes
● Objects
●What is OOP?
●OOP concepts
● Abstraction
● Encapsulation
● Inheritance
● Polymorphism
●Advantages vs Disadvantages
●Conclusion
Introduction to OOP
Why use OOP?
●Object Oriented Programming (OOP) is one of the most
widely used programming paradigm
●Why is it extensively used?
● Well suited for building trivial and complex applications
● Allows re-use of code thereby increasing productivity
● New features can be easily built into the existing code
● Reduced production cost and maintenance cost
●Common programming languages used for OOP include
C++, Java, and C#
Introduction to OOP
Topics
●Why use OOP?
●Building blocks of OOP
● Classes
● Objects
●What is OOP?
●OOP concepts
● Abstraction
● Encapsulation
● Inheritance
● Polymorphism
●Advantages vs Disadvantages
●Conclusion
Introduction to OOP
Building Blocks of OOP: Objects &
Classes
●Object: models a
● Real world object (ex. computer, book, box)
● Concept (ex. meeting, interview)
● Process (ex. sorting a stack of papers or comparing two
computers to measure their performance)
●Class: prototype or blueprint from which objects are
created
Introduction to OOP
Building Blocks of OOP: Objects &
Classes
●Class has
● Set of attributes or properties that describes every object
● Set of behavior or actions that every object can perform
●Object has
● Set of data (value for each of its attribute)
● Set of actions that it can perform
● An identity
●Every object belongs to a class
Introduction to OOP
Real World Example of Objects &
Classes
Object: FordCar1
Behavior
Start, Accelerate,
Reverse, Stop
Attributes
Color: Yellow
Type: Coupe
Model: Mustang
Cylinder: 6
Attributes
Color, Type, Model, Cylinder
Behavior
Start, Accelerate, Reverse, Stop
Class: FordCar
Behavior
Start, Accelerate,
Reverse, Stop
Attributes
Color: Orange
Type: Coupe
Model: Focus
Cylinder: 4
Object: FordCar2
Introduction to OOP
Another Real World Example..
Attributes
Name, Height, Age
Behavior
Speak, Listen, Eat, Run, Walk
Class: Person
Object: Person1
Attributes
Name: Ann
Height: 5’ 4”
Age: 21
Behavior
Speak,
Listen, Eat,
Run, Walk
Attributes
Name: Adam
Height: 5’ 9”
Age: 24
Behavior
Speak,
Listen, Eat,
Run, Walk
Object: Person2
Introduction to OOP
Class
●A class is a set of variables (to represent its attributes) and
functions (to describe its behavior) that act on its variables
Introduction to OOP
Class ShippingBox
int shipping_cost() {
return cost_per_pound*weight;
}
sender_name : string
receiver_name : string
cost_per_pound : int
weight : int
shipping_cost() : int
Introduction to OOP
Object
●Object is an instance of a class that holds data (values) in
its variables. Data can be accessed by its functions
Introduction to OOP
Objects of ShippingBox class
sender_name = Jim
receiver_name = John
cost_per_pound = 5
weight = 10
shipping_cost()
Object BoxB
Object BoxA
sender_name = Julie
receiver_name = Jill
cost_per_pound = 2
weight = 5
shipping_cost()
Class
ShippingBox
Introduction to OOP
Topics
●Why use OOP?
●Building blocks of OOP
● Classes
● Objects
●What is OOP?
●OOP concepts
● Abstraction
● Encapsulation
● Inheritance
● Polymorphism
●Advantages vs Disadvantages
●Conclusion
Introduction to OOP
What is OOP?
●Paradigm for problem solving by interaction among objects
●It follows a natural way of solving problems
● Ex. Ann wants to start her car
(1) Ann walks to her car
(2) Ann sends a message to the car to start by turning on the ignition
(3)The car starts
Introduction to OOP
Problem Solving in OOP
Problem: Ann wants to start her car
Name = Ann
Age = 21
Speak()
Run()
Walk()
Object Ann
Color = Yellow
Type = Coupe
Model = Mustang
Cylinder = 6
Start()
Accelerate()
Stop()
Object Ann’s car
message
Introduction to OOP
Topics
●Why use OOP?
●Building blocks of OOP
● Classes
● Objects
●What is OOP?
●OOP concepts
● Abstraction
● Encapsulation
● Inheritance
● Polymorphism
●Advantages vs Disadvantages
●Conclusion
Introduction to OOP
Abstraction
●Extracting essential properties and behavior of an entity
●Class represents such an abstraction and is commonly
referred to as an abstract data type
Ex. In an application that computes the shipping cost of a
box, we extract its properties: cost_per_pound, weight and
its behavior: shipping_cost()
Introduction to OOP
Abstraction
sender_name : string
receiver_name : string
cost_per_pound : int
weight : int
shipping_cost() : int
Class
Shipping Box
Attributes
Sender’s name,
Receiver’s name,
Cost of shipping per pound,
Weight
Behavior
Calculate shipping cost
Abstraction
Introduction to OOP
Topics
●Why use OOP?
●Building blocks of OOP
● Classes
● Objects
●What is OOP?
●OOP concepts
● Abstraction
● Encapsulation
● Inheritance
● Polymorphism
●Advantages vs Disadvantages
●Conclusion
Introduction to OOP
Encapsulation
sender_name
receiver_name
cost_per_pound
weight
shipping_cost()
●Mechanism by which we combine data and the functions
that manipulate the data into one unit
●Objects & Classes enforce encapsulation
Introduction to OOP
Topics
●Why use OOP?
●Building blocks of OOP
● Classes
● Objects
●What is OOP?
●OOP concepts
● Abstraction
● Encapsulation
● Inheritance
● Polymorphism
●Advantages vs Disadvantages
●Conclusion
Introduction to OOP
Inheritance
●Create new classes (derived classes) from existing classes
(base classes)
●The derived class inherits the variables and functions of
the base class and adds additional ones!
●Provides the ability to re-use existing code
Introduction to OOP
Inheritance Example
BankAccount CheckingAccount SavingsAccount
customer_name : string
account_type : string
balance : int
insufficient_funds_fee : int
deposit() : int
withdrawal() : int
process_deposit() : int
customer_name : string
account_type : string
balance : int
deposit() : int
withdrawal() : int
customer_name : string
account_type : string
balance : int
interest_rate : int
deposit() : int
withdrawal() : int
calculate_interest() : int
Introduction to OOP
Inheritance Example
interest_rate : int
calculate_interest() : int
insufficient_funds_fee : int
process_deposit() : int
CheckingAccount SavingsAccount
customer_name : string
account_type : string
balance : int
deposit() : int
withdrawal() : int
BankAccount
Introduction to OOP
Topics
●Why use OOP?
●Building blocks of OOP
● Classes
● Objects
●What is OOP?
●OOP concepts
● Abstraction
● Encapsulation
● Inheritance
● Polymorphism*
●Advantages vs Disadvantages
●Conclusion
(* To be covered in the next class)
Introduction to OOP
Disadvantages of OOP
●Initial extra effort needed in accurately modeling the
classes and sub-classes for a problem
●Suited for modeling certain real world problems as
opposed to some others
Introduction to OOP
Conclusion
●Classes & Objects
●Concepts in OOP
● Abstraction
● Encapsulation
● Inheritance
●Advantages & Disadvantages
●Next class
● Be prepared for an in-class activity (based on topics covered
today)!
● Polymorphism in OOP!
Introduction to OOP
Thank you!
Introduction to OOP

More Related Content

PDF
PPTX
oop.pptx
PPTX
object oriented programming and methodology.pptx
PPTX
object oriented programing lecture 1
PDF
Object-Oriented Programming (OOP)
PPTX
Object oriented programming 6 oop with c++
PPTX
SKILLWISE - OOPS CONCEPT
PPTX
Chapter 04 object oriented programming
oop.pptx
object oriented programming and methodology.pptx
object oriented programing lecture 1
Object-Oriented Programming (OOP)
Object oriented programming 6 oop with c++
SKILLWISE - OOPS CONCEPT
Chapter 04 object oriented programming

Similar to Object Oriented Programming_combined.ppt.pdf (20)

PPTX
Object Oriented Programming Principles
PDF
L1-Introduction to OOPs concepts.pdf
PPTX
object oriented programming(PYTHON)
PPSX
OOPS Concepts in Python and Exception Handling
PPT
Lecture 2
PPTX
Object Oriented Programming Class and Objects
PDF
Procedural-vs-Object-Oriented-Programming (1).pdf
PPTX
Python programming Concepts (Functions, classes and Oops concept
PPTX
Lecture 1 oop
PPTX
Regex,functions, inheritance,class, attribute,overloding
PDF
Understanding the Basics of Object-Oriented Programming for Beginners
PPTX
Object Oriented Programming - Copy.pptxb
PPT
chapter - 1.ppt
PPTX
CSE-Object-Oriented-Programming-PPT.pptx
PPTX
CPP_,module2_1.pptx
PPTX
Introduction to OOP_Python_Lecture1.pptx
PPTX
Principles and advantages of oop ppt
PDF
Oop concepts classes_objects
DOC
Introduction to OOPs Concept- Features, Basic concepts, Benefits and Applicat...
PPTX
Object oriented programming
Object Oriented Programming Principles
L1-Introduction to OOPs concepts.pdf
object oriented programming(PYTHON)
OOPS Concepts in Python and Exception Handling
Lecture 2
Object Oriented Programming Class and Objects
Procedural-vs-Object-Oriented-Programming (1).pdf
Python programming Concepts (Functions, classes and Oops concept
Lecture 1 oop
Regex,functions, inheritance,class, attribute,overloding
Understanding the Basics of Object-Oriented Programming for Beginners
Object Oriented Programming - Copy.pptxb
chapter - 1.ppt
CSE-Object-Oriented-Programming-PPT.pptx
CPP_,module2_1.pptx
Introduction to OOP_Python_Lecture1.pptx
Principles and advantages of oop ppt
Oop concepts classes_objects
Introduction to OOPs Concept- Features, Basic concepts, Benefits and Applicat...
Object oriented programming
Ad

Recently uploaded (20)

PDF
BMEC211 - INTRODUCTION TO MECHATRONICS-1.pdf
PPTX
additive manufacturing of ss316l using mig welding
PDF
Well-logging-methods_new................
PPTX
CARTOGRAPHY AND GEOINFORMATION VISUALIZATION chapter1 NPTE (2).pptx
PPTX
M Tech Sem 1 Civil Engineering Environmental Sciences.pptx
PDF
PRIZ Academy - 9 Windows Thinking Where to Invest Today to Win Tomorrow.pdf
PDF
Unit I ESSENTIAL OF DIGITAL MARKETING.pdf
PDF
PPT on Performance Review to get promotions
PPTX
Infosys Presentation by1.Riyan Bagwan 2.Samadhan Naiknavare 3.Gaurav Shinde 4...
PPTX
Sustainable Sites - Green Building Construction
PDF
Mohammad Mahdi Farshadian CV - Prospective PhD Student 2026
PDF
keyrequirementskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
DOCX
573137875-Attendance-Management-System-original
PPTX
Internet of Things (IOT) - A guide to understanding
PPTX
MET 305 2019 SCHEME MODULE 2 COMPLETE.pptx
PDF
Automation-in-Manufacturing-Chapter-Introduction.pdf
PDF
composite construction of structures.pdf
PPT
Project quality management in manufacturing
PDF
Enhancing Cyber Defense Against Zero-Day Attacks using Ensemble Neural Networks
PPTX
Artificial Intelligence
BMEC211 - INTRODUCTION TO MECHATRONICS-1.pdf
additive manufacturing of ss316l using mig welding
Well-logging-methods_new................
CARTOGRAPHY AND GEOINFORMATION VISUALIZATION chapter1 NPTE (2).pptx
M Tech Sem 1 Civil Engineering Environmental Sciences.pptx
PRIZ Academy - 9 Windows Thinking Where to Invest Today to Win Tomorrow.pdf
Unit I ESSENTIAL OF DIGITAL MARKETING.pdf
PPT on Performance Review to get promotions
Infosys Presentation by1.Riyan Bagwan 2.Samadhan Naiknavare 3.Gaurav Shinde 4...
Sustainable Sites - Green Building Construction
Mohammad Mahdi Farshadian CV - Prospective PhD Student 2026
keyrequirementskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
573137875-Attendance-Management-System-original
Internet of Things (IOT) - A guide to understanding
MET 305 2019 SCHEME MODULE 2 COMPLETE.pptx
Automation-in-Manufacturing-Chapter-Introduction.pdf
composite construction of structures.pdf
Project quality management in manufacturing
Enhancing Cyber Defense Against Zero-Day Attacks using Ensemble Neural Networks
Artificial Intelligence
Ad

Object Oriented Programming_combined.ppt.pdf

  • 1. Introduction to Object Oriented Programming Gayathri Namasivayam Introduction to OOP
  • 2. Topics ●Why use OOP? ●Building blocks of OOP ● Classes ● Objects ●What is OOP? ●OOP concepts ● Abstraction ● Encapsulation ● Inheritance ● Polymorphism ●Advantages vs Disadvantages ●Conclusion Introduction to OOP
  • 3. Topics ●Why use OOP? ●Building blocks of OOP ● Classes ● Objects ●What is OOP? ●OOP concepts ● Abstraction ● Encapsulation ● Inheritance ● Polymorphism ●Advantages vs Disadvantages ●Conclusion Introduction to OOP
  • 4. Why use OOP? ●Object Oriented Programming (OOP) is one of the most widely used programming paradigm ●Why is it extensively used? ● Well suited for building trivial and complex applications ● Allows re-use of code thereby increasing productivity ● New features can be easily built into the existing code ● Reduced production cost and maintenance cost ●Common programming languages used for OOP include C++, Java, and C# Introduction to OOP
  • 5. Topics ●Why use OOP? ●Building blocks of OOP ● Classes ● Objects ●What is OOP? ●OOP concepts ● Abstraction ● Encapsulation ● Inheritance ● Polymorphism ●Advantages vs Disadvantages ●Conclusion Introduction to OOP
  • 6. Building Blocks of OOP: Objects & Classes ●Object: models a ● Real world object (ex. computer, book, box) ● Concept (ex. meeting, interview) ● Process (ex. sorting a stack of papers or comparing two computers to measure their performance) ●Class: prototype or blueprint from which objects are created Introduction to OOP
  • 7. Building Blocks of OOP: Objects & Classes ●Class has ● Set of attributes or properties that describes every object ● Set of behavior or actions that every object can perform ●Object has ● Set of data (value for each of its attribute) ● Set of actions that it can perform ● An identity ●Every object belongs to a class Introduction to OOP
  • 8. Real World Example of Objects & Classes Object: FordCar1 Behavior Start, Accelerate, Reverse, Stop Attributes Color: Yellow Type: Coupe Model: Mustang Cylinder: 6 Attributes Color, Type, Model, Cylinder Behavior Start, Accelerate, Reverse, Stop Class: FordCar Behavior Start, Accelerate, Reverse, Stop Attributes Color: Orange Type: Coupe Model: Focus Cylinder: 4 Object: FordCar2 Introduction to OOP
  • 9. Another Real World Example.. Attributes Name, Height, Age Behavior Speak, Listen, Eat, Run, Walk Class: Person Object: Person1 Attributes Name: Ann Height: 5’ 4” Age: 21 Behavior Speak, Listen, Eat, Run, Walk Attributes Name: Adam Height: 5’ 9” Age: 24 Behavior Speak, Listen, Eat, Run, Walk Object: Person2 Introduction to OOP
  • 10. Class ●A class is a set of variables (to represent its attributes) and functions (to describe its behavior) that act on its variables Introduction to OOP
  • 11. Class ShippingBox int shipping_cost() { return cost_per_pound*weight; } sender_name : string receiver_name : string cost_per_pound : int weight : int shipping_cost() : int Introduction to OOP
  • 12. Object ●Object is an instance of a class that holds data (values) in its variables. Data can be accessed by its functions Introduction to OOP
  • 13. Objects of ShippingBox class sender_name = Jim receiver_name = John cost_per_pound = 5 weight = 10 shipping_cost() Object BoxB Object BoxA sender_name = Julie receiver_name = Jill cost_per_pound = 2 weight = 5 shipping_cost() Class ShippingBox Introduction to OOP
  • 14. Topics ●Why use OOP? ●Building blocks of OOP ● Classes ● Objects ●What is OOP? ●OOP concepts ● Abstraction ● Encapsulation ● Inheritance ● Polymorphism ●Advantages vs Disadvantages ●Conclusion Introduction to OOP
  • 15. What is OOP? ●Paradigm for problem solving by interaction among objects ●It follows a natural way of solving problems ● Ex. Ann wants to start her car (1) Ann walks to her car (2) Ann sends a message to the car to start by turning on the ignition (3)The car starts Introduction to OOP
  • 16. Problem Solving in OOP Problem: Ann wants to start her car Name = Ann Age = 21 Speak() Run() Walk() Object Ann Color = Yellow Type = Coupe Model = Mustang Cylinder = 6 Start() Accelerate() Stop() Object Ann’s car message Introduction to OOP
  • 17. Topics ●Why use OOP? ●Building blocks of OOP ● Classes ● Objects ●What is OOP? ●OOP concepts ● Abstraction ● Encapsulation ● Inheritance ● Polymorphism ●Advantages vs Disadvantages ●Conclusion Introduction to OOP
  • 18. Abstraction ●Extracting essential properties and behavior of an entity ●Class represents such an abstraction and is commonly referred to as an abstract data type Ex. In an application that computes the shipping cost of a box, we extract its properties: cost_per_pound, weight and its behavior: shipping_cost() Introduction to OOP
  • 19. Abstraction sender_name : string receiver_name : string cost_per_pound : int weight : int shipping_cost() : int Class Shipping Box Attributes Sender’s name, Receiver’s name, Cost of shipping per pound, Weight Behavior Calculate shipping cost Abstraction Introduction to OOP
  • 20. Topics ●Why use OOP? ●Building blocks of OOP ● Classes ● Objects ●What is OOP? ●OOP concepts ● Abstraction ● Encapsulation ● Inheritance ● Polymorphism ●Advantages vs Disadvantages ●Conclusion Introduction to OOP
  • 21. Encapsulation sender_name receiver_name cost_per_pound weight shipping_cost() ●Mechanism by which we combine data and the functions that manipulate the data into one unit ●Objects & Classes enforce encapsulation Introduction to OOP
  • 22. Topics ●Why use OOP? ●Building blocks of OOP ● Classes ● Objects ●What is OOP? ●OOP concepts ● Abstraction ● Encapsulation ● Inheritance ● Polymorphism ●Advantages vs Disadvantages ●Conclusion Introduction to OOP
  • 23. Inheritance ●Create new classes (derived classes) from existing classes (base classes) ●The derived class inherits the variables and functions of the base class and adds additional ones! ●Provides the ability to re-use existing code Introduction to OOP
  • 24. Inheritance Example BankAccount CheckingAccount SavingsAccount customer_name : string account_type : string balance : int insufficient_funds_fee : int deposit() : int withdrawal() : int process_deposit() : int customer_name : string account_type : string balance : int deposit() : int withdrawal() : int customer_name : string account_type : string balance : int interest_rate : int deposit() : int withdrawal() : int calculate_interest() : int Introduction to OOP
  • 25. Inheritance Example interest_rate : int calculate_interest() : int insufficient_funds_fee : int process_deposit() : int CheckingAccount SavingsAccount customer_name : string account_type : string balance : int deposit() : int withdrawal() : int BankAccount Introduction to OOP
  • 26. Topics ●Why use OOP? ●Building blocks of OOP ● Classes ● Objects ●What is OOP? ●OOP concepts ● Abstraction ● Encapsulation ● Inheritance ● Polymorphism* ●Advantages vs Disadvantages ●Conclusion (* To be covered in the next class) Introduction to OOP
  • 27. Disadvantages of OOP ●Initial extra effort needed in accurately modeling the classes and sub-classes for a problem ●Suited for modeling certain real world problems as opposed to some others Introduction to OOP
  • 28. Conclusion ●Classes & Objects ●Concepts in OOP ● Abstraction ● Encapsulation ● Inheritance ●Advantages & Disadvantages ●Next class ● Be prepared for an in-class activity (based on topics covered today)! ● Polymorphism in OOP! Introduction to OOP