Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
0% found this document useful (0 votes)
54 views

Object Oriented Programming - Combined

Oops assignment

Uploaded by

sk33527689
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
54 views

Object Oriented Programming - Combined

Oops assignment

Uploaded by

sk33527689
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
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