downloaded from: . objective of this course is to make students familiar with the concepts of...
TRANSCRIPT
![Page 1: Downloaded From: . Objective of this course is to make students familiar with the concepts of object-oriented programming Concepts](https://reader036.vdocuments.us/reader036/viewer/2022082323/56649eb35503460f94bb9c7a/html5/thumbnails/1.jpg)
Object-Oriented Programming (OOP)Lecture No. 1
Downloaded From: www.bsit.zxq.net
![Page 2: Downloaded From: . Objective of this course is to make students familiar with the concepts of object-oriented programming Concepts](https://reader036.vdocuments.us/reader036/viewer/2022082323/56649eb35503460f94bb9c7a/html5/thumbnails/2.jpg)
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++
Downloaded From: www.bsit.zxq.net
![Page 3: Downloaded From: . Objective of this course is to make students familiar with the concepts of object-oriented programming Concepts](https://reader036.vdocuments.us/reader036/viewer/2022082323/56649eb35503460f94bb9c7a/html5/thumbnails/3.jpg)
Course Contents
Object-Orientation Objects and Classes Overloading Inheritance Polymorphism Generic Programming Exception Handling Introduction to Design Patterns
Downloaded From: www.bsit.zxq.net
![Page 4: Downloaded From: . Objective of this course is to make students familiar with the concepts of object-oriented programming Concepts](https://reader036.vdocuments.us/reader036/viewer/2022082323/56649eb35503460f94bb9c7a/html5/thumbnails/4.jpg)
Books
C++ How to ProgramBy Deitel & Deitel
The C++ Programming LanguageBy Bjarne Stroustrup
Object-Oriented Software EngineeringBy Jacobson, Christerson, Jonsson,
OvergaardDownloaded From: www.bsit.zxq.net
![Page 5: Downloaded From: . Objective of this course is to make students familiar with the concepts of object-oriented programming Concepts](https://reader036.vdocuments.us/reader036/viewer/2022082323/56649eb35503460f94bb9c7a/html5/thumbnails/5.jpg)
Grading Policy
Assignments 15 % Group Discussion 05 % Mid-Term 35 % Final 45 %
Downloaded From: www.bsit.zxq.net
![Page 6: Downloaded From: . Objective of this course is to make students familiar with the concepts of object-oriented programming Concepts](https://reader036.vdocuments.us/reader036/viewer/2022082323/56649eb35503460f94bb9c7a/html5/thumbnails/6.jpg)
Object-Orientation (OO)
Downloaded From: www.bsit.zxq.net
![Page 7: Downloaded From: . Objective of this course is to make students familiar with the concepts of object-oriented programming Concepts](https://reader036.vdocuments.us/reader036/viewer/2022082323/56649eb35503460f94bb9c7a/html5/thumbnails/7.jpg)
What is Object-Orientation?
A technique for system modeling
OO model consists of several interacting objects
Downloaded From: www.bsit.zxq.net
![Page 8: Downloaded From: . Objective of this course is to make students familiar with the concepts of object-oriented programming Concepts](https://reader036.vdocuments.us/reader036/viewer/2022082323/56649eb35503460f94bb9c7a/html5/thumbnails/8.jpg)
What is a Model?
A model is an abstraction of something
Purpose is to understand the product before developing it
Downloaded From: www.bsit.zxq.net
![Page 9: Downloaded From: . Objective of this course is to make students familiar with the concepts of object-oriented programming Concepts](https://reader036.vdocuments.us/reader036/viewer/2022082323/56649eb35503460f94bb9c7a/html5/thumbnails/9.jpg)
Examples – Model
Highway maps
Architectural models
Mechanical models
Downloaded From: www.bsit.zxq.net
![Page 10: Downloaded From: . Objective of this course is to make students familiar with the concepts of object-oriented programming Concepts](https://reader036.vdocuments.us/reader036/viewer/2022082323/56649eb35503460f94bb9c7a/html5/thumbnails/10.jpg)
Example – OO Model
Downloaded From: www.bsit.zxq.net
![Page 11: Downloaded From: . Objective of this course is to make students familiar with the concepts of object-oriented programming Concepts](https://reader036.vdocuments.us/reader036/viewer/2022082323/56649eb35503460f94bb9c7a/html5/thumbnails/11.jpg)
…Example – OO Model
Objects› Ali› House› Car› Tree
Interactions› Ali lives in the house› Ali drives the car
Ali
Car
House
Tree
lives-in
drives
Downloaded From: www.bsit.zxq.net
![Page 12: Downloaded From: . Objective of this course is to make students familiar with the concepts of object-oriented programming Concepts](https://reader036.vdocuments.us/reader036/viewer/2022082323/56649eb35503460f94bb9c7a/html5/thumbnails/12.jpg)
Object-Orientation - Advantages
People think in terms of objects
OO models map to reality
Therefore, OO models are› easy to develop› easy to understand
Downloaded From: www.bsit.zxq.net
![Page 13: Downloaded From: . Objective of this course is to make students familiar with the concepts of object-oriented programming Concepts](https://reader036.vdocuments.us/reader036/viewer/2022082323/56649eb35503460f94bb9c7a/html5/thumbnails/13.jpg)
What is an Object?
An object is
Something tangible (Ali, Car)
Something that can be apprehended intellectually (Time, Date)
Downloaded From: www.bsit.zxq.net
![Page 14: Downloaded From: . Objective of this course is to make students familiar with the concepts of object-oriented programming Concepts](https://reader036.vdocuments.us/reader036/viewer/2022082323/56649eb35503460f94bb9c7a/html5/thumbnails/14.jpg)
… What is an Object?
An object has
State (attributes) Well-defined behaviour (operations) Unique identity
Downloaded From: www.bsit.zxq.net
![Page 15: Downloaded From: . Objective of this course is to make students familiar with the concepts of object-oriented programming Concepts](https://reader036.vdocuments.us/reader036/viewer/2022082323/56649eb35503460f94bb9c7a/html5/thumbnails/15.jpg)
Example – Ali is a Tangible Object
State (attributes)› Name› Age
behaviour (operations)› Walks› Eats
Identity› His name
Downloaded From: www.bsit.zxq.net
![Page 16: Downloaded From: . Objective of this course is to make students familiar with the concepts of object-oriented programming Concepts](https://reader036.vdocuments.us/reader036/viewer/2022082323/56649eb35503460f94bb9c7a/html5/thumbnails/16.jpg)
Example – Car is a Tangible Object
State (attributes)- Color- Model
behaviour (operations)- Accelerate - Start Car- Change Gear
Identity- Its registration number
Downloaded From: www.bsit.zxq.net
![Page 17: Downloaded From: . Objective of this course is to make students familiar with the concepts of object-oriented programming Concepts](https://reader036.vdocuments.us/reader036/viewer/2022082323/56649eb35503460f94bb9c7a/html5/thumbnails/17.jpg)
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
Downloaded From: www.bsit.zxq.net
![Page 18: Downloaded From: . Objective of this course is to make students familiar with the concepts of object-oriented programming Concepts](https://reader036.vdocuments.us/reader036/viewer/2022082323/56649eb35503460f94bb9c7a/html5/thumbnails/18.jpg)
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
Downloaded From: www.bsit.zxq.net