Object-Oriented Programming
(OOP)
Lecture No. 1
Course Objective
► Objective of this course is to make students
familiar with the concepts of object-oriented
programming
► Concepts
will be reinforced by their
implementation in C++
Course Contents
► Object-Orientation
► Objects and Classes
► Overloading
► Inheritance
► Polymorphism
► Generic Programming
► Exception Handling
► Introduction to Design Patterns
Books
► C++ How to Program
By Deitel & Deitel
► The C++ Programming Language
By Bjarne Stroustrup
► Object-Oriented Software Engineering
By Jacobson, Christerson, Jonsson, Overgaard
Grading Policy
► Assignments 15 %
► Group Discussion 5%
► Mid-Term 35 %
► Final 45 %
Object-Orientation (OO)
What is Object-Orientation?
►A technique for system modeling
► OO model consists of several interacting
objects
What is a Model?
►A model is an abstraction of something
► Purposeis to understand the product before
developing it
Examples – Model
► Highway maps
► Architectural models
► Mechanical models
Example – OO Model
…Example – OO Model
► Objects lives-in
Ali House
Ali
drives
House
Car
Car Tree
Tree
► Interactions
Ali lives in the house
Ali drives the car
Object-Orientation - Advantages
► People think in terms of objects
► OO models map to reality
► Therefore, OO models are
easy to develop
easy to understand
What is an Object?
An object is
► Something tangible (Ali, Car)
► Something that can be apprehended
intellectually (Time, Date)
… What is an Object?
An object has
► State (attributes)
► Well-defined behaviour (operations)
► Unique identity
Example – Ali is a Tangible Object
► State (attributes)
Name
Age
► behaviour (operations)
Walks
Eats
► Identity
His name
Example – Car is a Tangible Object
► State (attributes)
- Color
- Model
► behaviour (operations)
- Accelerate - Start Car
- Change Gear
► Identity
- Its registration number
Example – Time is an Object
Apprehended Intellectually
► State (attributes)
- Hours - Seconds
- Minutes
► behaviour (operations)
- Set Hours - Set Seconds
- Set Minutes
► Identity
- Would have a unique ID in the model
Example – Date is an Object
Apprehended Intellectually
► State (attributes)
- Year - Day
- Month
► behaviour (operations)
- Set Year - Set Day
- Set Month
► Identity
- Would have a unique ID in the model