0% found this document useful (0 votes)
47 views

Object Oriented Programming - Combined

Oops assignment

Uploaded by

sk33527689
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
47 views

Object Oriented Programming - Combined

Oops assignment

Uploaded by

sk33527689
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 29

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

Attributes Behavior
Color: Yellow Start, Accelerate,
Reverse, Stop
Class: FordCar Type: Coupe
Model: Mustang
Attributes Cylinder: 6
Color, Type, Model, Cylinder
Behavior
Start, Accelerate, Reverse, Stop
Object: FordCar2

Attributes Behavior
Color: Orange Start, Accelerate,
Type: Coupe Reverse, Stop

Model: Focus
Cylinder: 4
Introduction to OOP
Another Real World Example..

Object: Person1

Class: Person Attributes Behavior


Name: Ann Speak,
Attributes Listen, Eat,
Height: 5’ 4”
Run, Walk
Name, Height, Age Age: 21

Behavior
Speak, Listen, Eat, Run, Walk Object: Person2

Attributes Behavior
Name: Adam Speak,
Listen, Eat,
Height: 5’ 9”
Run, Walk
Age: 24

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

sender_name : string
receiver_name : string
cost_per_pound : int int shipping_cost() {
weight : int return cost_per_pound*weight;
}

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

Object BoxA
sender_name = Julie
receiver_name = Jill
cost_per_pound = 2
weight = 5
shipping_cost()

Class
ShippingBox
Object BoxB
sender_name = Jim
receiver_name = John
cost_per_pound = 5
weight = 10
shipping_cost()

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

Object Ann Object Ann’s car


Name = Ann Color = Yellow
Age = 21 mes Type = Coupe
sage
Speak() Model = Mustang
Run() Cylinder = 6
Walk() Start()
Accelerate()
Stop()

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

Shipping Box Abstraction Class


Attributes sender_name : string
Sender’s name, receiver_name : string
Receiver’s name, cost_per_pound : int
Cost of shipping per pound, weight : int
Weight
Behavior shipping_cost() : int
Calculate shipping cost

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
●Mechanism by which we combine data and the functions
that manipulate the data into one unit
●Objects & Classes enforce encapsulation

sender_name
receiver_name
cost_per_pound
weight
shipping_cost()

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 customer_name : string customer_name : string


account_type : string account_type : string account_type : string
balance : int balance : int balance : int
insufficient_funds_fee : int interest_rate : int

deposit() : int deposit() : int deposit() : int


withdrawal() : int withdrawal() : int withdrawal() : int
process_deposit() : int calculate_interest() : int

Introduction to OOP
Inheritance Example

BankAccount
customer_name : string
account_type : string
balance : int

deposit() : int
withdrawal() : int

CheckingAccount SavingsAccount

insufficient_funds_fee : int interest_rate : int


process_deposit() : int calculate_interest() : int

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

You might also like