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
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
PPTX
Object oriented programming 6 oop with c++
PDF
Object-Oriented Programming (OOP)
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 6 oop with c++
Object-Oriented Programming (OOP)
SKILLWISE - OOPS CONCEPT
Chapter 04 object oriented programming

Similar to Object_Oriented_Programming_combined.ppt (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
PPTX
Object Oriented Programming - Copy.pptxb
PDF
Understanding the Basics of Object-Oriented Programming for Beginners
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
Object Oriented Programming - Copy.pptxb
Understanding the Basics of Object-Oriented Programming for Beginners
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

More from ssuser8d54ed (6)

PPT
Introduction to computer and its generations lecture 1.ppt
PPTX
Computer-Memory-and its types overview.pptx
PPTX
Important Keys in Database Systemss.pptx
PPTX
Object Oriented Programming intro Lecture 1.pptx
PPTX
Introduction to Object Oriented Programming.pptx
PPTX
Internet_uses_and_misuses.pptx
Introduction to computer and its generations lecture 1.ppt
Computer-Memory-and its types overview.pptx
Important Keys in Database Systemss.pptx
Object Oriented Programming intro Lecture 1.pptx
Introduction to Object Oriented Programming.pptx
Internet_uses_and_misuses.pptx
Ad

Recently uploaded (20)

PDF
Mark Klimek Lecture Notes_240423 revision books _173037.pdf
PDF
FourierSeries-QuestionsWithAnswers(Part-A).pdf
PDF
Physiotherapy_for_Respiratory_and_Cardiac_Problems WEBBER.pdf
PPTX
Open Quiz Monsoon Mind Game Prelims.pptx
PDF
01-Introduction-to-Information-Management.pdf
PPTX
Microbial diseases, their pathogenesis and prophylaxis
PDF
Business Ethics Teaching Materials for college
PPTX
Pharma ospi slides which help in ospi learning
PPTX
Introduction_to_Human_Anatomy_and_Physiology_for_B.Pharm.pptx
PDF
2.FourierTransform-ShortQuestionswithAnswers.pdf
PPTX
Open Quiz Monsoon Mind Game Final Set.pptx
PPTX
GDM (1) (1).pptx small presentation for students
PDF
Insiders guide to clinical Medicine.pdf
PPTX
school management -TNTEU- B.Ed., Semester II Unit 1.pptx
PDF
Abdominal Access Techniques with Prof. Dr. R K Mishra
PDF
Origin of periodic table-Mendeleev’s Periodic-Modern Periodic table
PDF
Open folder Downloads.pdf yes yes ges yes
PDF
grade 11-chemistry_fetena_net_5883.pdf teacher guide for all student
PDF
Chapter 2 Heredity, Prenatal Development, and Birth.pdf
PPTX
Pharmacology of Heart Failure /Pharmacotherapy of CHF
Mark Klimek Lecture Notes_240423 revision books _173037.pdf
FourierSeries-QuestionsWithAnswers(Part-A).pdf
Physiotherapy_for_Respiratory_and_Cardiac_Problems WEBBER.pdf
Open Quiz Monsoon Mind Game Prelims.pptx
01-Introduction-to-Information-Management.pdf
Microbial diseases, their pathogenesis and prophylaxis
Business Ethics Teaching Materials for college
Pharma ospi slides which help in ospi learning
Introduction_to_Human_Anatomy_and_Physiology_for_B.Pharm.pptx
2.FourierTransform-ShortQuestionswithAnswers.pdf
Open Quiz Monsoon Mind Game Final Set.pptx
GDM (1) (1).pptx small presentation for students
Insiders guide to clinical Medicine.pdf
school management -TNTEU- B.Ed., Semester II Unit 1.pptx
Abdominal Access Techniques with Prof. Dr. R K Mishra
Origin of periodic table-Mendeleev’s Periodic-Modern Periodic table
Open folder Downloads.pdf yes yes ges yes
grade 11-chemistry_fetena_net_5883.pdf teacher guide for all student
Chapter 2 Heredity, Prenatal Development, and Birth.pdf
Pharmacology of Heart Failure /Pharmacotherapy of CHF

Object_Oriented_Programming_combined.ppt

  • 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 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